这就是我在php中所做的:
$dbhandler = new PDO('mysql:host='.domain.':'.port.';dbname='.dbName.';',db_user,db_password);
$stmt = $dbhandler->prepare("INSERT INTO ".myTable.
" (value) VALUES (:value)");
$stmt->bindValue(':value', "試打中文");
$stmt->execute();
这是我通过phpMyAdmin得到的:
試打ä¸æ–‡
但是我可以在phpMyAdmin中手动插入中文,它会显示给怪物char ... 我做错了什么? (表字段的排序规则是:utf8_unicode_ci)。
谢谢。
答案 0 :(得分:2)
将您的代码更改为:
$dbhandler = new PDO('mysql:host='.domain.':'.port.';dbname='.dbName.';',db_user,db_password, array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'
));
答案 1 :(得分:0)
尝试运行:
SET NAMES utf8;
SET CHARACTER_SET utf8;
在建立数据库连接后作为查询。