我有一个php文件,使用pdo将数据插入mysql数据库。当我尝试在我的一个表中的字段中插入单词référencé
时,它在mysql中显示为référencé
我没有得到它,因为我指定了一点点字符集作为utf-8。见下文。
header('Content-Type: text/html; charset=utf-8');
mysql_set_charset('utf8');
mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'");
下面是我的pdo连接函数:
function connexion($host, $user, $pass, $db){
$db_host = $host;
$db_user = $user;
$db_password = $pass;
$db_database = $db;
return $connexion = new PDO("mysql:host=$db_host;dbname=$db_database", $db_user, $db_password);
}
希望有人能帮助我理解。先感谢您。干杯。马克
答案 0 :(得分:2)
好吧,显然你没有为你的PDO连接设置连接编码。这样做:
return new PDO("mysql:host=$db_host;dbname=$db_database",
$db_user,
$db_password,
array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));