2011-10-24 21 views
2

我使用rails 3.1.1與ruby-1.9.2-p290在debian系統上通過rvm。 我在我的視圖和mysql數據庫中使用瑞典語字母。 我不斷收到Bah!我不斷收到這個編碼錯誤與紅寶石1.9.2

不兼容的字符編碼:UTF-8和ASCII-8BIT

當我訪問一個網頁,從數據庫中獲得的東西。

在我的database.yml

我有這樣的:

staging: 
    adapter: mysql 
    database:something 
    encoding: utf8 
    username: something 
    password: something 
    host: localhost  

production: 
    adapter: mysql 
    database:something 
    encoding: utf8 
    username: something 
    password: something 
    host: localhost 

我config.ru:

Encoding.default_external = "UTF-8" 
require ::File.expand_path('../config/environment', __FILE__) 
run Someappname::Application 

我的environment.rb:

# Load the rails application 
require File.expand_path('../application', __FILE__) 
Encoding.default_external = Encoding::UTF_8 
Encoding.default_internal = Encoding::UTF_8 
Someappname::Application.initialize! 

我的配置/初始化/編碼.rb:

Encoding.default_external = Encoding::UTF_8 
Encoding.default_internal = Encoding::UTF_8 

我與 「Encoding.default_xxxxxx =編碼:: UTF_8」 的所有組合,並沒有他們

每個控制器,助手和郵件試圖始於:

#編碼:UTF-8

在MySQL:

的MySQL>顯示變量,如 '字符%';

+--------------------------+----------------------------+ 
| Variable_name   | Value      | 
+--------------------------+----------------------------+ 
| character_set_client  | latin1      | 
| character_set_connection | latin1      | 
| character_set_database | utf8      | 
| character_set_filesystem | binary      | 
| character_set_results | latin1      | 
| character_set_server  | latin1      | 
| character_set_system  | utf8      | 
| character_sets_dir  | /usr/share/mysql/charsets/ | 
+--------------------------+----------------------------+ 

,並從輸出:

的MySQL>顯示變量,如 '科拉%';

+----------------------+-------------------+ 
| Variable_name  | Value    | 
+----------------------+-------------------+ 
| collation_connection | latin1_swedish_ci | 
| collation_database | utf8_general_ci | 
| collation_server  | latin1_swedish_ci | 

什麼,我可以做任何想法?我不贊成這個問題!

回答

4

Okey,似乎我設法解決了這個問題! 問題是我在同一時間使用mysql和mysql2。 所以要解決這個問題,我必須刪除mysql,並抓住mysql2「0.3.7」,否則設計會向我拋出奇怪的錯誤。 然後我不得不將database.yml中的適配器更改爲適配器:mysql2

希望這可以幫助有同樣問題的人!