在 UBUNTU 和 CENTOS 上列印 PHP 的外文文本

在 UBUNTU 和 CENTOS 上列印 PHP 的外文文本

我正在使用 domdocuments 並使用 $div->nodeValue 之類的東西從網頁獲取某些資訊。

在我的 ubuntu 機器上,當我執行 phpcrawl.php 時,所有內容都以中文正確顯示(頁面為 UTF-8)。

然而,在我的 CENTOS 機器上,使用相同的程式碼,當我在終端中列印時,我得到了錯誤。當我把它保存到資料庫時,字元也亂了。

我注意到的一件事是,當我列印 $content 時,兩個系統都正確顯示它們。

答案1

檢查mysql連接的字元集和排序規則,當您插入抓取的資料內容時,Mysql應該知道將使用哪種字元集和排序規則來儲存資料。將以下行新增至您的 php 腳本中。透過這種方式,您的程式碼將更加穩定,可以在不同的作業系統和配置上工作。

`
$dbcharset='utf8';
$dbcollat​​ion='utf8_general_ci';
mysql_query('設定字元集'.$dbcharset);
mysql_query("設定名稱'".$dbcharset."' COLLATE '".$dbcollat​​ion."'");
`

相關內容