scuess 发表于 2016-11-6 02:17:38

rails操作sql server乱码问题的解决办法

class String
require 'iconv'
def gbk_to_utf8
Iconv.conv("UTF-8", "gbk", self) rescue self
end
def utf8_to_gbk
Iconv.conv("gbk", "UTF-8", self) rescue self
end
end
module Backend
module Mssql
module InstanceMethods
def after_initialize
self.attributes.each do |k, v|
if v.class.to_s == "String" and !v.empty?
self = v.gbk_to_utf8
end
end
end
def before_validation
self.attributes.each do |k, v|
if v.class.to_s == "String" and !v.empty?
self = v.utf8_to_gbk
end
end
end

def before_save
self.attributes.each do |k, v|
if v.class.to_s == "String" and !v.empty?
self = v.utf8_to_gbk
end
end
end
end
end
end
ActiveRecord::Base.class_eval do
include Backend::Mssql::InstanceMethods
end
页: [1]
查看完整版本: rails操作sql server乱码问题的解决办法