1
我有一個使用utf-8運行的rails應用程序。它使用一個mysql數據庫,所有表都使用mysql的默認字符集和排序規則(即latin1)。因此,latin1表包含utf-8數據。當然,這並不好,但我並不真的對它感興趣。一切工作正常,因爲連接編碼也是latin1,因此mysql不會在字符集之間進行轉換。rails,mysql charsets&encoding:binary
只有一個問題:我需要一個表中的UTF-8全文索引:
mysql> show create table autocompletephrases;
... AUTO_INCREMENT=310095 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
但是:我不希望在我的Rails應用程序之間的字符集轉換。因此,我想知道如果我能設置配置/ database.yml的
production:
adapter: mysql
>>>> encoding: binary
...
這只是調用SET NAMES連接到MySQL時,「二進制」。它看起來像它適用於我的情況,因爲我猜它會強制mysql在字符集之間不轉換(mySQL docs)。有沒有人知道這樣做的問題?任何副作用?
或者您有其他建議嗎?但我想避免將我的整個數據庫轉換爲utf-8。
非常感謝! Benjamin
'我有一輛車。方形輪子,但它對我來說似乎沒問題。只有一個問題:我想突襲。任何建議?避免唯一正確的解決方案的任何明智的理由? – 2010-05-21 13:27:47