我目前正在玩couchdb。
我試圖將一些博客數據從redis(鍵值存儲)遷移到couchdb(鍵值存儲)。
鑑於我可能將這些數據從不同的博客引擎遷移到不同的博客引擎(每個人都必須有一個興趣愛好:)),似乎有一些編碼snafus。
我使用CouchREST從紅寶石訪問CouchDB的,我得到這個:清理ruby中的奇怪編碼
<JSON::GeneratorError: source sequence is illegal/malformed>
的問題似乎是對象的body_html部分:
<Post:0x00000000e9ee18 @body_html="[.....]Wie Sie bereits wissen, m\xF6chte EUserv k\xFCnftig seine [...]
這些都應該是變音(「möchte」和「künftig」)。
任何想法如何擺脫這些問題?在插入之前,我嘗試了一些使用ruby 1.9編碼功能或iconv的轉換,但還沒有運氣:(
如果我嘗試使用.encode()方法將這些內容轉換爲ISO-8859-1紅寶石1.9,這是發生了什麼(不同的文字,同樣的問題):
#<Encoding::UndefinedConversionError: "\xC6\x92" from UTF-8 to ISO-8859-1>
謝謝!我總是混合編碼的東西了:( 這可能是iso-8859-1,但不知何故沿途,它得到了宣佈UTF8。 這有助於: post.body_html.force_encoding('iso-8859-1')。encode (「utf-8」) – 2009-12-12 11:35:05
很酷!是的,那會做同樣的事情。 – bobince 2009-12-12 11:39:24