![在 UBUNTU 和 CENTOS 上列印 PHP 的外文文本](https://rvso.com/image/515018/%E5%9C%A8%20UBUNTU%20%E5%92%8C%20CENTOS%20%E4%B8%8A%E5%88%97%E5%8D%B0%20PHP%20%E7%9A%84%E5%A4%96%E6%96%87%E6%96%87%E6%9C%AC.png)
我正在使用 domdocuments 並使用 $div->nodeValue 之類的東西從網頁獲取某些資訊。
在我的 ubuntu 機器上,當我執行 phpcrawl.php 時,所有內容都以中文正確顯示(頁面為 UTF-8)。
然而,在我的 CENTOS 機器上,使用相同的程式碼,當我在終端中列印時,我得到了錯誤。當我把它保存到資料庫時,字元也亂了。
我注意到的一件事是,當我列印 $content 時,兩個系統都正確顯示它們。
答案1
檢查mysql連接的字元集和排序規則,當您插入抓取的資料內容時,Mysql應該知道將使用哪種字元集和排序規則來儲存資料。將以下行新增至您的 php 腳本中。透過這種方式,您的程式碼將更加穩定,可以在不同的作業系統和配置上工作。
` $dbcharset='utf8'; $dbcollation='utf8_general_ci'; mysql_query('設定字元集'.$dbcharset); mysql_query("設定名稱'".$dbcharset."' COLLATE '".$dbcollation."'"); `