我刚刚导入了一个巨大的MySQL数据库。大多数字段都是latin1_swedish_ci,它们包含许多损坏的字符串。
e.g。 CavitY�r�kl�代替CavitYürüklü
我一直在尝试使用PHP找到解决这些损坏的解决方案,因为我只知道一点点。我用utf8_(en | de)代码,iconv。
播放失败请帮忙!!!因为它是腐败的负载。
更新:重新进口为拉丁文1,现在已经超过了,CavitY�r�kl�。所以它肯定不同,但sql本身似乎已被破坏。
答案 0 :(得分:1)
是的,它使用了错误的编码。查看http://www.oreillynet.com/onlamp/blog/2006/01/turning_mysql_data_in_latin1_t.html以了解如何解决此问题。您只需要找出它现在的编码以及您想要的编码然后就可以进行转换。或者设置数据库以匹配您要导入的数据的编码(如果这是一个选项)
答案 1 :(得分:0)
首先我会制作数据库转储的副本,然后我会尝试使用iconv - 我知道你说你尝试了但是你可以试用很多很多字符编码的组合 - 我曾经不得不修复一些损坏的俄罗斯西里尔文数据 - 最终工作的是指定'UTF-8 // TRANSLIT'的输出值 - 我会尝试所有你能做的组合,但记得保留原件的副本。