如何修复错误编码的字符串?

时间:2017-05-31 15:19:51

标签: python sql-server r encoding character-encoding

我在SQL Server中有一个表,其中填充了一些编码不正确的字符。当我有源时,我发现源也有问题。我没有正确编码的数据(即这些数据的正确表示)。我希望编码系统之间存在一对一的关系,所以我可以解析字符并找到正确的编码。

到目前为止,我部分能够编码,但显然是错误的,例如见下文

Autã³Noma De Ciudad Juã¡Rez - > Auta3Noma De Ciudad Jua!Rez
Plutarco Elías Calle - > Plutarco ElA-as Calles
Tecnolã³Gico - > Tecnola3Gico

我用R做了这个,

iconv('Gálvez Quiñones', to='ASCII//TRANSLIT')
[1] "GA!lvez QuiA?ones"

如你所见,我还没有成功。你认为正确编码这些错误编码的字符在R,Python或SQL Server中是否可行?

1 个答案:

答案 0 :(得分:0)

嘿,这是一个 PARTIAL 解决方案,即它没有很好地处理/修复一些字符(例如上标-3,反向感叹号,A与〜)。但它适用于其他2.我使用iconv并更改了to编码。

universidades<- c("Autã³Noma De Ciudad Juã¡Rez", 
         "Plutarco Elías Calle", "Tecnolã³Gico", "Gálvez Quiñones")
universidades
    [1] "Autã³Noma De Ciudad Juã¡Rez" "Plutarco Elías Calle"      
    [3] "Tecnolã³Gico"                "Gálvez Quiñones"          
iconv(universidades, to="latin-9")
    [1] "Aut\xe3\xb3Noma De Ciudad Ju\xe3\xa1Rez"
    [2] "Plutarco Elías Calle"                   
    [3] "Tecnol\xe3\xb3Gico"                     
    [4] "Gálvez Quiñones"