Ruby on rails rails和sqlserver编码
我正在用mysql和sqlserver开发一个应用程序。sqlserver用于连接到旧表 这是我的定义Ruby on rails rails和sqlserver编码,ruby-on-rails,ruby-on-rails-3,activerecord,Ruby On Rails,Ruby On Rails 3,Activerecord,我正在用mysql和sqlserver开发一个应用程序。sqlserver用于连接到旧表 这是我的定义 development: adapter: mysql2 encoding: utf8 reconnect: false database: spvalores_development username: secret password: secret pool: 5 host: 192.168.100.35 socket: mysql port
development:
adapter: mysql2
encoding: utf8
reconnect: false
database: spvalores_development
username: secret
password: secret
pool: 5
host: 192.168.100.35
socket: mysql
port: 3306
sql_server_db:
adapter: sqlserver
database: SPPokerManager
dsn: DesaSqlServer
mode: odbc
username: sa
password: master
encoding: utf8
我使用的宝石:
gem 'activerecord-sqlserver-adapter'
gem 'ruby-odbc'
这是我的模型
class Client < ActiveRecord::Base
self.table_name = "dbo.LOB_CLIENTE"
self.primary_keys = :CASINO_ID, :CLIENTE_ID
establish_connection :sql_server_db
attr_accessible :CASINO_ID, :CLIENTE_ID, :CDNI, :CAPELLIDO, :CNOMBRES,:TIPODOCUMENTO_ID, :CNICKNAME, :CDIRECCION, :CTELEFONO, :CCELULAR, :CEMAIL, :COBSERVACIONES, :CLIENTEPERFIL_ID
attr_accessible :DFECHAINGRESO, :BIDENTIFICADO, :BACEPTAENVIOSMS, :IFOTO, :COLATIPOPREFERIDA_ID
attr_accessible :BACTIVO, :CNROJUGADOR, :CSEXO, :DFECHANACIMIENTO, :NACIONALIDAD_ID, :CEMAIL2, :CPATROCINADOR, :CPAISRESIDENCIA, :CPROVINCIARESIDENCIA, :CCIUDADRESIDENCIA
attr_accessible :DFECHAHORA_CESIONIMAGEN, :BFIRMA, :BJUGADORFRECUENTE, :DFECHAACTUALIZACION
def as_json(options={})
nick = self.CNICKNAME.force_encoding("ISO-8859-1").encode("UTF-8")
name = self.CNOMBRES.force_encoding("ISO-8859-1").encode("UTF-8") unless self.CNOMBRES.nil?
surname = self.CAPELLIDO.force_encoding("ISO-8859-1").encode("UTF-8") unless self.CAPELLIDO.nil?
{:CLIENTE_ID => self.CLIENTE_ID ,:CNICKNAME => nick ,:CAPELLIDO => surname ,:CNOMBRES => name, :CDNI => self.CDNI, :TIPODOCUMENTO_ID => self.TIPODOCUMENTO_ID }
end
end
我解决问题的唯一办法就是做这样的事
modelinstance.field.force_encoding("ISO-8859-1").encode("UTF-8")
那张桌子上有很多场地。除此之外,我当然需要查询像这样的其他表
在数据库属性中查看排序规则是Modern_Spanish_CI_AS
如何配置rails以在排序规则Modern_Spanish_CI_AS中显示和保存属性
提前感谢,希望澄清一下我终于解决了这个问题 我需要使用tiny_tds: 解释如下:
modelinstance.field.force_encoding("ISO-8859-1").encode("UTF-8")