Php
PHP/MySQL 連接在哪裡採用其預設字元集?
我使用
mysql_connect
一個僅在 UTF-8 中定義的數據庫。我可以在配置中查看的任何地方,我看到UTF-8 Unicode (utf8)
orutf8_general_ci
。但是,當我打開 PHP 連接,然後使用
echo mysql_client_encoding();
時,我得到latin1
了一個輸出,這是非常出乎意料的。它是從某種 PHP/Apache 配置中獲取的嗎?
在 /etc/mysql/my.cnf 下添加這一行
$$ client $$
default-character-set=utf8
您必須為您的 PHP MySQL 連接設置編碼,因為它不會從您的表/數據庫定義中讀取它。像這樣做:
mysql_set_charset('utf8',$link); // or in OOP style: $mysqli->set_charset('utf8');