【发布时间】:2018-04-25 09:52:50
【问题描述】:
我一直在尝试从我的数据库中获取聊天记录,但由于某些原因,像 ü 这样的字符被转换为 \u00。我该如何解决这个问题?
数据库已设置为 UTF-8,标头也是。
代码:
$sql = $db->query("SELECT * FROM `messages` ORDER BY `id` DESC LIMIT 50"); // lol
$row = $sql->fetchAll(PDO::FETCH_ASSOC);
$messages = array();
foreach($row as $value){
array_push($messages, $value);
}
exit(json_encode($messages));
PDO 连接,
$db = new PDO('mysql:host=localhost;dbname=xxx', 'xxx', 'xxx', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
【问题讨论】:
-
你的代码中有
$db->query("SET NAMES 'utf8'");之类的东西吗? -
在数据库中你看对了
ü? -
@Wolen 正确,我愿意。
-
@JiriHrazdil 我使用 PDO。见编辑。
标签: php