当我尝试跑步时:
mysql -u myUser -pPassword -D myDatabase -h myHost < toInsert.sql
来自我的ubuntu桌面,其中myHost是一个远程Red Hat服务器,而toInsert.sql包含’
,它们显示为’
我该如何解决这个问题?
注意! ’
与'
当我从带有mysql gui客户端的windows机器运行toInsert.sql时,我没有这个问题。
由于
答案 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字符并查看其是否正确的内容进行查看。如果它看起来正确,那么问题是你的终端。