然而我把 RoR 與 MyQL 兜在一起之後,即便已將 MySQL 文字編碼設為「UTF-8 Unicode (utf8)」,MySQL 連線校對設為「utf8_general_ci」,編碼的問題還是讓人傷透腦筋--那些在 phpMyAdmin 中所 INSERT 進去的資料,在 RoR 的頁面中總是亂碼一串;而經由 RoR 頁面所輸入的資料,不僅無法透過 phpMyAdmin 看到正確編碼,甚至不能將資料正確地存入資料庫中。
這樣子的問題會出現在 MySQL 4.1 (及以後)的版本,因為 MySQL 在 4.1 版之後大幅強化了對各種編碼的支援。如果安裝的 Rails 是 1.0 之後的版本,解決問題的方法只要在 config/database.yml 中加入一行設定即可:
development:
adapter: mysql
database: example_development
encoding: utf8
username: root
password:
如果 Rails 是 1.0 之前或者用的資料庫是 PostgreSQL 的話呢?懶得寫了,直接上 Rails 的 Wiki 上看說明吧。
參考自:HowToUseUnicodeString in Ruby on Rails
沒有留言:
張貼留言