1

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

但它显示的不是这个词。我使用sqlyog。

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

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

谢谢

4

2 回答 2

1

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

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

于 2013-06-08T13:39:37.290 回答
0

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

于 2013-06-08T20:33:57.337 回答