【问题标题】:MySQL DB not handling non-latin characters properlyMySQL DB 未正确处理非拉丁字符
【发布时间】:2017-03-22 15:30:22
【问题描述】:

我在数据库本身中看到了新创建帐户的用户名,例如“कविता हेमनà¥à¤¤”。通过一些挖掘,我知道这些名称只是 Facebook 帐户名称(我允许 Facebook 登录),但使用非拉丁脚本。

我已将我的 MySQL 数据库配置为在“utf8mb4”中工作,但这似乎不允许将名称存储在其原始脚本中。

编辑:我正在使用 PHP。在初始连接到数据库时,我指定 utf-8mb4 作为编码,但没有在查询级别指定编码。

【问题讨论】:

  • 您的数据库可能配置为 UTF8,但创建“插入”语句的代码是什么?你在用什么?
  • 很可能您的问题不在于您的数据库本身,而在于 (a) 您连接到数据库的方式,或 (b) 沿途的一些其他代码。你能edit这个帖子包含更多细节吗?

标签: mysql utf-8 utf8mb4


【解决方案1】:

那是 कविता हेमन 的 Mojibake。请参阅Trouble with utf8 characters; what I see is not what I stored 并查找“Mojibake”。它讨论了问题和可能的原因。另请参阅“最佳实践”。

utf8 或 utf8mb4 都可以。也就是说,这不是 utf8mb4 特有的问题。

【讨论】:

    猜你喜欢
    • 2014-06-03
    • 2015-06-26
    • 2021-12-28
    • 2011-04-15
    • 1970-01-01
    • 1970-01-01
    • 2015-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多