Печать иностранного текста для PHP на UBUNTU и CENTOS

Печать иностранного текста для PHP на UBUNTU и CENTOS

Я использую domdocuments и такие вещи, как $div->nodeValue, чтобы получить определенную информацию с веб-страницы.

На моей машине с Ubuntu при выполнении команды php crawl.php все отображается правильно на китайском языке (страница в кодировке UTF-8).

Однако на моей машине CENTOS, использующей тот же код, я получаю æ´å¤åå¸ при печати в терминале. А когда я сохраняю его в базе данных, символы также искажаются.

Я заметил, что когда я печатаю $content, обе системы отображают его правильно.

решение1

Проверьте набор символов и параметры сортировки соединения с MySQL. Пока вы вставляете содержимое полученных данных, Mysql должен знать, какой набор символов и параметры сортировки будут использоваться для хранения данных. Добавьте приведенные ниже строки в свой PHP-скрипт. Таким образом, ваш код будет работать намного стабильнее на разных ОС и в разных конфигурациях.

`
$dbcharset='utf8';
$dbcollation='utf8_general_ci';
mysql_query('SET НАБОР СИМВОЛОВ '.$dbcharset);
mysql_query("НАБОР ИМЕН '".$dbcharset."' СОРТИРОВАТЬ '".$dbcollation."'");
`

Связанный контент