2016-01-21 119 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宝石

谢谢!