imprimindo texto estrangeiro para PHP no UBUNTU e CENTOS

imprimindo texto estrangeiro para PHP no UBUNTU e CENTOS

Estou usando domdocuments e coisas como $div->nodeValue para obter certas informações de uma página da web.

Na minha máquina Ubuntu, quando faço php crawl.php, tudo é exibido corretamente em chinês (a página está em UTF-8).

Porém, na minha máquina CENTOS, usando o mesmo código, recebo æ´å¤åå¸ quando imprimo no terminal. e quando eu salvo no banco de dados, os caracteres também ficam confusos.

Uma coisa que notei é que quando imprimo $content, ambos os sistemas os exibem corretamente.

Responder1

Verifique o conjunto de caracteres e agrupamento da conexão mysql, enquanto você insere o conteúdo dos dados capturados, o Mysql deve saber qual conjunto de caracteres e agrupamento será usado para armazenar dados. adicione as linhas abaixo ao seu script php. dessa forma, seu código ficará muito mais estável para funcionar em diferentes sistemas operacionais e configurações.

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

informação relacionada