中文亂碼永遠是心頭一痛。
最近學習rails,又遇到了久違的中文亂碼問題。
如下是本人的解決方法:
編碼選擇:除非因為歷史遺留原因,要保證所有的編碼全部為utf-8,盡量不要嘗試gbk編碼,否則以後出現問題的時候,會有你好看的。
編輯器編碼:將ruby原始檔盡量使用utf-8編碼,這個在一些高階的文字編輯器中提供,或是在notepad儲存時候可以選擇。如果使用radrails,就更好解決了。eclipse的編輯器編碼設定在window - preferences - general - workspace中。
資料庫編碼:
資料庫的編碼一定要選擇utf-8,因為rails生成網頁預設編碼是utf-8,如果資料庫編碼為gbk格式,會出現mysql發出的編碼錯誤異常。如果在安裝mysql是已經選擇了其他編碼格式,解決辦法是開啟mysql安裝目錄下的my.ini,找到default-character-set更改為default-character-set=utf8,有兩處需要更改,注意不要遺漏。
這是執行程式時就不會出現編碼錯誤丟擲的異常。但是還有另乙個問題,資料庫寫入和讀出時都可以正常處理中文,但使用phpmyadmin或者query bowser檢視寫入的資料時,卻是亂碼,這個也有很好的解決辦法。只需要更改你所在工程目錄下的config\database.yml,新增如下語句 encoding: utf8:即將檔案更改為如下所示:
development:
adapter: mysql
database: depot_development
username: root
password:
host: localhost
encoding: utf8
這樣就可以完美解決rails中文編碼問題。
Python 多種編碼檔案(中文)亂碼問題解決
python讀檔案編碼格式錯誤,中文亂碼等,強烈推薦看如下文章 點我 python在安裝時,預設的編碼是ascii,當程式中出現非ascii編碼時,python的處理常常會報這樣的錯unicodedecodeerror ascii codec can t decode byte 0x?in posi...
Linux Oracle 中文亂碼問題解決
一 若在oracle中有漢字,在資料庫中查詢出現亂碼很可能是由於資料庫客戶端與伺服器的字符集不一致導致的,這時就應該先分別檢視下資料庫伺服器和客戶端的字符集 具體命令如下 1.檢視伺服器端的字符集 sql select userenv language from dual 2.檢視客戶端的字符集 e...
putty中文亂碼問題解決
putty中文亂碼問題解決 用putty從windows xp連線ubuntu server或者freebsd系統,其中中文部分亂碼,經常遇到這個問題的時候,會覺得很鬱悶。現共享一些解決這個問題的方法。方法一 如果經常使用,把這些設定儲存在session裡面.儲存方法 再做完以上操作的同時選中以下兩...