我有一些數據已導入到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