mysql'显示为'

时间:2010-08-10 15:33:09

标签: mysql encoding insert character apostrophe

当我尝试跑步时:

mysql -u myUser -pPassword -D myDatabase -h myHost < toInsert.sql

来自我的ubuntu桌面,其中myHost是一个远程Red Hat服务器,而toInsert.sql包含,它们显示为’

我该如何解决这个问题?

注意! '

不同

当我从带有mysql gui客户端的windows机器运行toInsert.sql时,我没有这个问题。

由于

3 个答案:

答案 0 :(得分:2)

--default-character-set=utf8修复了它

所以

mysql -u myUser -pPassword -D myDatabase -h myHost --default-character-set=utf8 < toInsert.sql

感谢您的帮助!

答案 1 :(得分:1)

听起来你的代码对编码感到困惑。定义数据库中字符串数据的编码是什么(我推荐使用UTF-8,但只要你保持一致,任何东西都可以工作),然后确保你使用它的所有工具都能实现这一点。

当UTF-8数据字节被重新解释为ISO 8859-1时,“’”是“”。

答案 2 :(得分:1)

这个问题可能有两个地方:

首先,您需要检查数据库中所有内容的编码是否为UTF-8。

如果这不能解决问题,那么您的数据库可能是正确的,但您的控制台无法显示UTF-8字符。将查询的输出传递到文件中,并以可显示UTF-8字符并查看其是否正确的内容进行查看。如果它看起来正确,那么问题是你的终端。