2010-02-22 18 views
1

我試圖將我的應用程序遷移到Ruby 1.9,但ActiveRecord不斷使用ASCII編碼檢索我的MySQL數據庫中的記錄,從而導致「utf-8和ASCII之間不兼容」像錯誤。我已經嘗試在database.yml文件中設置「encoding:utf-8」,並且我還嘗試在錯誤文件的頂部放置「#coding:utf-8」,但沒有運氣。我認爲可能是我的數據庫中的字段是問題,但即使在將所有內容轉換爲utf-8之後,仍然存在不兼容性錯誤。ActiveRecord在Ruby 1.9中以ASCII編碼拉出記錄

在MySQL中可能還有別的東西,它定義了我在這裏失蹤的ActiveRecord編碼?

+0

你能舉出一些錯誤的例子嗎? – anshul 2010-02-22 23:30:20

+0

一個示例是「不兼容的編碼正則表達式匹配(帶有ASCII-8BIT字符串的UTF-8正則表達式)」。這是一個簡單的正則表達式,我用gsub,看起來像這樣:sentence.gsub(/〜/,「」)。我知道錯誤是由於「句子」字符串以ASCII返回而引起的,但我不知道如何告訴ActiveRecord使其成爲UTF-8。 – joeellis 2010-02-22 23:41:00

+0

你可以給堆棧追蹤錯誤嗎? – 2010-02-23 01:10:20

回答

0

顯然是Ruby 1.9和mysql gem的問題。請參閱this question

應該使用mysql2 gem來解決。

相關問題