PHP/MySQL 中的 PDO 和 UTF-8 特殊字符?
问题描述
我正在使用 MySQL 和 PHP 5.3 并尝试了此代码.
I am using MySQL and PHP 5.3 and tried this code.
=> 我得到了很好的 UTF-8 渲染显示,做得很好.
=> I got good UTF-8 render display, well done.
但现在我创建了一个类 PDO 以保持易于扩展和更容易
But for now I create a class PDO to keep easy to extend and more easy
但它显示我的角色是这样的'????'
But it displays my character something like this '????'
我在 Stack Overflow 上找到了这个链接,看起来和我遇到的问题一样PHP/MySQL 中的特殊字符
I found this link on Stack Overflow, it looks like the same problem i met Special characters in PHP / MySQL
它看起来和我的问题一样 => 我试图修复它,但我仍然无法工作.
It looks the same as my problem => I tried to fix it, but I still doesn't work.
谁能告诉我是什么问题?我该如何纠正?
Can anyone tell me what the problem is? How can I correct it?
谢谢
推荐答案
你缺少一个S:它是 SET NAMES
而不是 SET NAME
:
你当然也需要取消注释.另外,PDO::MYSQL_ATTR_INIT_COMMAND
可以不设置与PDO::setAttribute()
建立数据库连接后(常量名说明了一切),您必须指定它在 constructor 中使用 $driver_options
参数,例如这个:
You also need to un-comment it of course. Also, PDO::MYSQL_ATTR_INIT_COMMAND
can not be set with PDO::setAttribute()
after you've established your database connection (the constant name says it all), you've to specify it in the constructor using the $driver_options
argument, like this:
另一种方法是在连接后立即执行相同的查询:
An alternative to this is to just execute that very same query immediately after connecting:
这篇关于PHP/MySQL 中的 PDO 和 UTF-8 特殊字符?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!