2

我刚刚导入了一个巨大的 MySQL 数据库。大多数字段都是 latin1_swedish_ci,它们包含大量损坏的字符串。

例如 Cavit Y�r�kl� 而不是 Cavit Yürüklü

我一直在尝试找到一种解决方案来使用 PHP 修复这些损坏,因为这就是我所知道的。我玩过 utf8_(en|de)code, iconv 失败了。

请帮忙!!!因为它是大量的腐败。

更新:重新导入为拉丁语 1,现在有上述内容,Cavit Y�r�kl�。所以它肯定不同,但 sql 本身似乎已损坏。

4

2 回答 2

1

是的,它使用了错误的编码。查看http://www.oreillynet.com/onlamp/blog/2006/01/turning_mysql_data_in_latin1_t.html了解如何修复它。您只需要找出它现在采用的编码以及您希望它采用的编码,然后您就可以进行转换。或设置数据库以匹配您正在导入的数据的编码(如果这是一个选项)

于 2009-08-29T19:54:29.580 回答
0

首先,我会制作 db 转储的副本,然后我会尝试使用 iconv - 我知道你说过你尝试过,但是你可以尝试很多很多字符编码组合 - 我曾经不得不修复一些损坏的俄语西里尔字母数据-最终起作用的是指定'UTF-8//TRANSLIT'的输出值-我会尝试所有您可以尝试的组合,但请记住保留原始副本。

于 2009-08-29T21:55:38.777 回答