php - Pdo select 查询以不适当的方式返回列值(unicode 问题)

标签 php mysql unicode pdo

我尝试使用以下代码使用 pdo 从数据库表中检索所有数据:

$stmt = $this->_db->query("SELECT * FROM ki_cities");
         $result = $stmt->fetchAll(PDO::FETCH_ASSOC);
         return $result;

它返回以下数组:

[{"id":"1","city":"\u10d7\u10d1\u10d8\u10da\u10d8\u10e1\u10d8"},{"id":"2","city":"\u10e5\u10e3\u10d7\u10d0\u10d8\u10e1\u10d8"},{"id":"3","coty":"\u10d1\u10d0\u10d7\u10e3\u10db\u10d8"}]

问题是实际上列 citie 的值是 city:"თელავი", city:"თბილისი", city:"გორი"。 (这些是格鲁吉亚语单词)。

我猜问题出在unicode上。附:数据库中的排序规则设置为utf8_unicode_ci(这是mysql中的多语言unicode)。

任何建议表示赞赏。 提前致谢。

最佳答案

解决了!

我错过了一步,我用 json 返回了这个数据,问题出在 json_encode() 中;

关于php - Pdo select 查询以不适当的方式返回列值(unicode 问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28436030/

相关文章:

javascript - 下拉列表到 JavaScript 数组以填充文本框

php - 更新查询 MySQL PHP

java - 如何仅将字符串的特殊字符转换为 unicode?

java - 如何在 Java 中屏蔽 HTML-Unicode

javascript - 使用 JS 渲染 EMF+ 图像

php - 更改文件和文件夹权限后出现 403 Forbidden

mysql - 如何从命令行清除未执行的 MySQL 查询?

python - 在Python中处理unicode转换

php - cURL 使用来自 mySQL 的信息,然后存储 cURL 的信息

javascript - 如何动态计算每页分页显示多少个项目