我在rails 3.2.1上使用postgres與pg 0.13.2和haml 3.1.4。 數據庫編碼是「unicode」,我很確定它與postgres的「UTF-8」相同 Meta標籤具有charset = utf-8(在表單頁面和顯示頁面上)並且表單具有accept-charset = 「UTF-8」Rails編碼錯誤。 HAML問題我認爲
我在我的生產環境(Heroku雪松)中收到「不兼容的字符編碼:ASCII-8BIT和UTF-8」錯誤,至今我嘗試了一堆修復程序,我真的明白髮生了什麼事。開發環境不會導致問題。
導致問題的字符串具有從Word複製/粘貼的撇號。如果我刪除角色的所有內容都可以正常呈現,但這是用戶提交的內容,因此未來可能會再次出現此問題。
從Heroku的consol中調用string.encoding.name返回「UTF-8」,在視圖中使用force_encoding(「UTF-8」)沒有區別。
但是,如果我在字符串上使用haml過濾器(如:markdown),它都呈現良好。 另外,將視圖更改爲erb可以修復問題。
任何想法?在任何地方使用過濾器都不太可行,我想深入瞭解這一點。
數據庫中的字符還是在HAML模板中? – tadman 2012-03-05 19:30:08
它在數據庫中。 – kjs3 2012-03-05 21:23:15