我有一些数据已导入到Postgres中,用于Rails应用程序。然而不知何故外国口音已经变得奇怪编码:奇怪的字符编码问题
ä
出现â§
á
显示为â°
é
显示为â©
ó
显示为ââ¥
我很确定问题是与inte数据的可靠性,而不是Rails的任何问题。这似乎并不符合任何编码我尝试:
# Replace "cp1252" with any other encoding, to no effect
"Trollâ§ttan".encode("cp1252").force_encoding("UTF-8") #-> junk
如果有人能够识别什么样的编码查询股价,我患的,那将是巨大的。
作为最后的手段,我可能不得不手动替换每个损坏的重音字符,但如果任何人都可以建议一个编程解决方案(或者甚至是解决此问题的起点 - 我发现它很难调试),我会很感激。
你能检查数据库使用什么编码吗?另外,数据是如何导入的? – PinnyM
编码是'UTF8'(整理'en_US.UTF-8')。数据经历了一个非常复杂的导入过程(最初是CSV,然后通过Google Refine,然后进行了更多转换)。重新导入数据并不容易,所以就地修复将是理想的。 –
和原始的CSV文件 - 那是什么编码?一个'复杂的导入过程'增加了很多变量,并且它可能会导致编码的错误解释多于一个......此外,如果您可以在每个过程的时间间隔验证编码,这可能有助于锁定源因为腐败问题相当多。 – PinnyM