在 UBUNTU 和 CENTOS 上为 PHP 打印外文

在 UBUNTU 和 CENTOS 上为 PHP 打印外文

我正在使用 domdocuments 并使用 $div->nodeValue 之类的东西从网页获取某些信息。

在我的 ubuntu 机器上,当我执行 php crawl.php 时,所有内容都能以中文正确显示(页面采用 UTF-8 格式)。

但是在我的 CENTOS 机器上使用相同的代码在终端打印时会出现 æ´å¤åå¸ 。并且当我将其保存到数据库时,字符也会混乱。

我注意到的一件事是,当我打印 $content 时,两个系统都能正确显示它们。

答案1

检查 mysql 连接字符集和排序规则,当您插入抓取数据的内容时,Mysql 应该知道将使用哪个字符集和排序规则来存储数据。将下面的行添加到您的 php 脚本中。通过这种方式,您的代码将更加稳定,可以在不同的操作系统和配置上工作。

`
$dbcharset='utf8';
$dbcollat​​ion='utf8_general_ci';
mysql_query('设置字符集'.$dbcharset);
mysql_query("设置名称'.$dbcharset.."'排序'.$dbcollat​​ion.."'");
`

相关内容