我尝试使用以下代码使用 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/