【问题标题】:mysql shows chinese characters like squaresmysql显示像正方形这样的汉字
【发布时间】:2013-06-08 13:35:18
【问题描述】:

我想在mysql db中保存汉字,charset通过连接db设置为UTF8,字段的charset也是utf8,排序规则-utf8_general_ci

但它显示的不是单词,而是正方形。我使用 sqlog。

有一件事,如果我提出请求,如果显示正确的中文单词,则在浏览器中回显该单词。

所以,我想知道为什么它在浏览器中显示正确的单词,而在 db 中它就像正方形,反之亦然。 恐怕以后通过导出或导入可能会丢失一些数据。

谢谢

【问题讨论】:

    标签: php mysql character-encoding


    【解决方案1】:

    您的数据可能在数据库中正确存储,但被sqlyog读取错误

    我没有使用过 sqlyog,但是这个问题可能是由于 sqlyog 连接到 MySQL 的方式 - 在 sqlyog 连接到 DB 时查找与字符集相关的参数,并确保它们也是 utf8

    【讨论】:

    • 感谢您的回答,我有很多其他语言,如俄语、亚美尼亚语、印地语等等,但它们都显示正确,只有中文是错误的。谢谢
    • 我猜你是对的,通过 phpmyadmin 它显示正确,所以问题很可能与 sqlyog 有关。谢谢
    【解决方案2】:

    当我必须将拉丁字符插入数据库时​​,我遇到了类似的问题,我使用了 mb_convert_encoding($str, 'utf8', 'HTML-ENTITIES') 并且它正确存储在数据库中,我必须显示它在 html 页面中,我刚刚有 encoding=utf-8

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-09
      • 2020-09-26
      • 2019-09-26
      • 2021-03-18
      • 1970-01-01
      • 2016-01-14
      • 1970-01-01
      • 2017-07-29
      相关资源
      最近更新 更多