法语编码字符

时间:2013-11-07 00:18:44

标签: php mysql jquery pdo character-encoding

编码不是我最强的观点......

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

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

使用jQuery和AJAX从db向屏幕注入内容。问题是,响应未正确编码。 Français回归Fran ais

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

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

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

1 个答案:

答案 0 :(得分: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));

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