php - 法语编码字符

标签 php mysql jquery pdo character-encoding

编码不是我的强项...

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

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

内容通过 jQuery 和 AJAX 从数据库注入(inject)到屏幕上。问题是,响应编码不正确。 Français 回归为 Français

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

我是否遗漏了一些明显的东西? 谢谢, 约翰

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

最佳答案

正如我的评论中提到的,您应该确保您的数据库连接字符集也是 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的一部分。除非您使用低于 5.3.6 的 PHP 版本,否则无需运行 SET NAMES 查询。

关于php - 法语编码字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19825626/

相关文章:

javascript - 限制格式化用户输入的宽度 - Javascript、CSS 或 jQuery

php - 如何自动检测数据库更改并生成 jquery 通知?

php - 数据映射器和 zend 框架

mysql - 无法理解 ibd 文件加密如何帮助保护 MySql 中的数据

mysql - 需要转储mysql触发器

JavaScript、JQuery、将 HTML 元素下载为图像( Canvas 到图像)

php - Wordpress 从循环中排除重复的 $sticky 帖子

php - 如何避免无法为两个具有相同名称的不同类重新声明类

mysql - 按两个字段选择和排序

javascript - 使用 AJAX 插入数据库后,如何使用插入的信息更新同一页面上的 div?