我正在尝试将unicode字符串存储在MySQL数据库(Ubuntu10.04上的MySQL版本5.1.41-3ubuntu12.9 )中。只要我使用终端查看数据,这看起来工作得很好。但是,如果我使用MySQL查询浏览器或Ruby on Rails来查询数据库,得到的结果都是垃圾字符串。
我尝试将default-character-set = utf8和character-set-server = utf8添加到我的my.cnf文件中,并重新启动MySQL,但似乎没有什么帮助。我的database.yml文件有行encoding: utf8,但我猜这不是问题所在,因为我也不能在MySQL查询浏览器中正确地查看数据。
你有什么建议吗?
发布于 2011-12-11 13:01:39
在没有互联网帮助的情况下,我也遇到了同样的问题。数据仅在终端窗口中显示正确的数据,但MySQL查询浏览器和PHP都显示奇怪的字符。
最后,我意识到数据库中的数据没有使用正确的字符集保存。因此,我在插入和更新代码的地方更新了代码,添加了$link->set_charset('utf8');,其中$link是mysqli对象。
现在插入的新数据显示正常。我仍然不明白为什么MySQL终端可以正确地显示它。
无论如何,它现在可以工作了!
https://stackoverflow.com/questions/5118954
复制相似问题