我正在使用Mongoid爲我的ORM從MySQL表導入數據到MongoDB。嘗試將電子郵件地址保存爲字符串時出現錯誤。錯誤是:當通過Mongoid ORM保存到MongoDB的UTF8兼容字符串時,字符串無效UTF-8(BSON :: InvalidStringEncoding)
/Library/Ruby/Gems/1.8/gems/bson-1.2.4/lib/../lib/bson/bson_c.rb:24:in `serialize': String not valid UTF-8 (BSON::InvalidStringEncoding)
from /Library/Ruby/Gems/1.8/gems/bson-1.2.4/lib/../lib/bson/bson_c.rb:24:in `serialize'
從我的GUI - 這是表信息的屏幕截圖。你可以看到它用UTF8編碼。
從我的GUI而且 - 這是場在我的MySQL表的屏幕截圖,我進口
這是當我搶從MySQL中的數據發生了什麼CLI。
最後,當我檢查我的紅寶石對象中的數據,我得到的東西看起來是這樣的:
我有點困惑,因爲在這裏我無關表是UTF -8,而且這個時髦顯然是有效的UTF-8字符作爲雙字節。任何人都知道我爲什麼得到這個錯誤?
如果您可以向jira.mongodb.org發佈可複製的示例,這將是最有幫助的。這樣,我們可以測試並確保驅動程序的UTF-8檢查中沒有錯誤。它使用標準的UTF-8驗證庫。 – 2011-03-23 18:03:24