
Я использую 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."'"); `