在 MySQL 数据库中保存口音

新手上路,请多包涵

我试图在我的数据库中保存法语口音,但它们并没有像在数据库中那样保存。

例如,“é”保存为“É”。

我试图将我的文件设置为“Unicode (utf-8)”,数据库中的字段是“utf8_general_ci”以及数据库本身。

当我使用 Firebug 查看通过 AJAX 发布的数据时,我看到重音传递为“é”,所以它是正确的。

谢谢,让我知道您需要更多信息!

原文由 Ebpo 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 278
2 个回答

我个人通过在 MySQL 连接代码 之后添加解决了同样的问题:

 mysql_set_charset("utf8");

或者对于 mysqli:

 mysqli_set_charset($conn, "utf8");

或等效的 mysqli OOP:

 $conn->set_charset("utf8");

有时您必须通过添加以下代码来定义 主 php 字符集

 mb_internal_encoding('UTF-8');

在客户端 HTML 端,您必须添加以下标头数据:

 <meta http-equiv="Content-type" content="text/html;charset=utf-8" />

为了使用 JSON AJAX 结果(例如通过使用 jQuery),您应该通过添加以下内容来定义标头:

 header("Content-type: application/json;charset=utf8");
json_encode(
     some_data
);

这应该可以解决问题

原文由 Olivier Kaisin 发布,翻译遵循 CC BY-SA 3.0 许可协议

最好的选择是您的数据库连接不是 UTF-8 编码的——默认情况下通常是 ISO-8859-1。

尝试发送查询

SET NAMES utf8;

建立连接后。

原文由 Pekka 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏