0

编码不是我的强项...

我正在建立一个涉及多种不同语言的网站。

数据库以 UTF-8 存储内容。

使用 jQuery 和 AJAX 从数据库中将内容注入到屏幕上。问题是,响应没有正确编码。Français 以 Français 的身份回归

我不确定我做错了什么,jquery中的默认请求是uft8,数据存储在uft-8的db中,html页面设置为<meta content="text/html; charset=utf-8" http-equiv="Content-Type">

我错过了一些明显的东西吗?谢谢,约翰

当我直接绕过jquery ajax请求内容时,响应被正确编码..就像浏览器没有设置标题一样......

4

1 回答 1

1

正如我在评论中提到的,您应该确保您的数据库连接字符集也是 utf-8。这是我的 goto PDO 构造函数,可以很好地设置...

$pdo = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'username', 'password', array(
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_EMULATE_PREPARES => false,
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC));

请注意作为 DSN 一部分的字符集参数。SET NAMES除非您遇到低于 5.3.6 的 PHP 版本,否则无需运行查询。

于 2013-11-07T02:30:13.867 回答