Php

PHP/MySQL 連接在哪裡採用其預設字元集?

  • July 23, 2011

我使用mysql_connect一個僅在 UTF-8 中定義的數據庫。我可以在配置中查看的任何地方,我看到UTF-8 Unicode (utf8)or utf8_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');

引用自:https://serverfault.com/questions/289336