2016-01-21 116 views
2

我的環境:Rails 4.2.4 Ruby 2.0 & SQL Server 2014,數據庫級別的排序規則爲SQL_Latin1_General_CP1_CI_AS不兼容的字符編碼:UTF-8和ASCII-8BIT SQL Server

我得到一個錯誤

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

時,在數據庫中找到的觀點一些特殊的字符,如C,A,E等

我已經嘗試了一些配置,我讀但沒有任何工作。

# encoding: utf-8 

在enviroment.erb:

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

在application.rb中:

config.encoding = "utf-8" 

我試圖在視圖:

我在視圖中嘗試這個

<td><%=h role.description.force_encoding("ISO-8859-1").encode("UTF-8") %></td> 

它工作正常,但這種方式非常困難。我想,在所有的項目運行的東西,像模特例如

我嘗試了角色類:

self.column.force_encoding("ISO-8859-1").encode("UTF-8") 

,但無法識別命令

有人能幫助我嗎?

坦克!

Ale

回答

0

我終於解決了我的問題。 一位同事給了我一個提示安裝

tiny_tds

寶石和運行正常,沒有任何的上面列出的設置,剛成立的database.yml

development: 
    adapter: sqlserver 
    mode: dblib 
    database: MyDataBase 
    dataserver: MyServer 

以前我是用ruby- odbc寶石

謝謝!