json_encode返回null,即使"SET NAMES "解决方案


json_encode return null even with "SET NAMES utf8" solution

在执行ajax调用后得到空结果,其中值具有变音符。我试图修复这个问题:

$this->pdo = new PDO('mysql:host=host;dbname=db','user','password',array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));

调用层次结构是ajax调用到php脚本search.php,该脚本存储了dbconnection对象,这是sql调用进行的地方。我还试图用utf8_encode来修复它,但没有效果。数据库是在字符集:UTF-8 Unicode (utf8),太和php版本是5.4。

在我的本地apache我没有得到任何问题。这个问题只在真正的网页上出现。

我错过了什么?

先使用htmlentities(),再使用json_encode()来更改HTML实体的变音符