我迷失了。我有一个我在线下工作的网站,然后我上传到实时服务器,将MySQL数据库导入到实时服务器,并在一般情况下生效。问题是当我从LIVE服务器导出数据库并导回到LOCAL服务器时,我的XHTML输出中出现了未知字符,中间有白色问号的黑色钻石,你知道那个。
我用于从LOCAL MySQL安装导出数据库的命令如下:
mysqldump --verbose -hlocalhost -uxxx -pxxx --databases xxx --add-drop-table --default-character-set UTF8 > somedir/xxx.sql
然后,当将该数据导入LIVE数据库时,我使用了一个简单的命令,如下所示:
mysql -hlocalhost -uxxx -pxxx somedatabase < xxx.sql
很好,一切都很好,数据已导入,网站上没有任何未知字符。但是,当我反向执行相同操作(使用与Windows中相同的命令在实时服务器上进行转储,使用相同的mysql命令在Windows中导入)时,就会出现所有未知字符。
这是一个整理问题吗?我使用了不正确的 - 默认字符集?
我从来没有遇到过这种情况,我希望得到一些反馈,或者在正确的方向上轻推。
更新:我已完全删除了我的本地数据库,导出了整个实时数据库并导入。还是一样的错误:/这让我很生气!
非常感谢, 西蒙
答案 0 :(得分:1)
尝试双方:
SET names UTF-8
可能默认值不同。
答案 1 :(得分:0)
我怀疑您的实际网站有不同的数据库架构,可能是latin1吗?