Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 拯救数据库中损坏的字符_Php_Mysql_Character Encoding_Corruption - Fatal编程技术网

Php 拯救数据库中损坏的字符

Php 拯救数据库中损坏的字符,php,mysql,character-encoding,corruption,Php,Mysql,Character Encoding,Corruption,我刚刚导入了一个巨大的MySQL数据库。大多数字段都是拉丁文1_瑞典语ci,它们包含大量损坏的字符串 e、 g.Cavit YÃýrýklý代替Cavit Yürüklü 我一直在试图找到一个解决方案来修复这些腐败使用PHP,因为这是我所知道的一点。我使用utf8(en | de)代码iconv玩得不成功 请帮忙!!!因为它是大量的腐败 更新:重新输入为拉丁语1,现在为上面的Cavit Yï½rï½klï½。因此它完全不同,但sql本身似乎已损坏。是的,它使用了错误的编码。查看以了解如何修

我刚刚导入了一个巨大的MySQL数据库。大多数字段都是拉丁文1_瑞典语ci,它们包含大量损坏的字符串

e、 g.Cavit YÃýrýklý代替Cavit Yürüklü

我一直在试图找到一个解决方案来修复这些腐败使用PHP,因为这是我所知道的一点。我使用utf8(en | de)代码iconv玩得不成功

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


更新:重新输入为拉丁语1,现在为上面的Cavit Yï½rï½klï½。因此它完全不同,但sql本身似乎已损坏。

是的,它使用了错误的编码。查看以了解如何修复它。你只需要找出它现在是什么编码,你想要它是什么,然后你就可以转换了。或者将db设置为与您导入的数据的编码相匹配(如果这是一个选项)

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

“我刚刚导入了一个巨大的MySQL数据库。”你能更具体地解释一下你做了什么吗?你从哪儿弄来的?那是一个转储文件?获取转储文件(如果确实是)的数据库使用了什么编码?db转储已经包含损坏的字符。它是在一个网站出售后给我的,所以是唯一剩下的垃圾场。我相信它使用了拉丁编码。这很好知道,但在我的例子中,所有字符都以某种方式损坏为相同的值,因此很明显,数据无法修复。