您要查询的代码段似乎已被双重编码。基本上,无论最初生成此数据的是什么,都会以Latin-1或其他相关编码生成文本(Windows代码页1252?)。然后将其送入将Latin-1转换为UTF-8
… 两次的过程。
当然,“转换”数据已经是UTF-8了,但告诉计算机它是Latin-1只是产生了mojibake。
该字符串
INGLxc3x83xc2x89S表明,这种分析,如果你可以猜测,它应该说
Inglés
在上的情况下,实现了UTF-8编码
É是
XC3
X89,然后检查哪些字符这两个字节编码中的Latin-1(或者,碰巧是Unipre,它是Latin-1的超集,尽管它们在编码级别上不兼容)。
注意,这里至关重要的步骤是能够猜测问题序列 应该
代表哪个字符串。它还说明了为什么要在有足够上下文的情况下包含有问题的数据的代表性片段!-对于调试至关重要。
无论如何,如果整个文件具有相同的症状,则您应该能够撤消第二次,多余且不正确的重新编码。尽管文件中有这么多错误,但让我想像这可能是一个只有几个记录的本地问题。也许它们是从多个输入文件合并而成的,只有其中一个出现此错误。然后,要修复它,需要进行大量的侦探工作,手动编辑或识别并修复错误源。快速而肮脏的解决方法是简单地手动删除任何错误的记录。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)