Назад | Перейти на главную страницу

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

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

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

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

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

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

`
$dbcharset='utf8';
$dbcollation='utf8_general_ci';
mysql_query('SET CHARACTER SET '.$dbcharset); 
mysql_query("SET NAMES '".$dbcharset."' COLLATE '".$dbcollation."'");
`