Проблема заключается в saveHTML()
и saveXML()
, оба из них не работают корректно в Unix. Они не сохраняют символы UTF-8 правильно при использовании в Unix, но они работают в Windows.
Обходной путь очень прост:
Если вы попробуете значение по умолчанию, вы получите описанная вами ошибка
$str = $dom->saveHTML(); // saves incorrectly
Все, что вам нужно сделать, это сохранить следующим образом:
$str = $dom->saveHTML($dom->documentElement); // saves correctly
Эта строка кода позволит правильно сохранить ваши символы UTF-8 (используйте тот же обходной путь, если вы используете saveXML()
).
saveHTML()
без параметров (потому что Английские символы сохраняются как одиночные байтовые символы в UTF-8) Я рекомендую прочитать эту статью: http://coding.smashingmagazine.com/2012/06/06/all-about-unicode-utf8-character-sets/ . Вы поймете, как работает UTF-8 и почему у вас есть эта проблема. Это займет у вас около 30 минут, но это время хорошо проведено.
#searchbar{
display: none;
}
<div class="search-control">
<span class="s-icon"></span>
<input type="search" id="searchbar" name="q" placeholder="Type here to search" value="I want to hided by default">
<span id="c-mic"></span>
</div>