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[k] = 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[k] = 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[k] = v.utf8_to_gbk
end
end
end
end
end
end
ActiveRecord::Base.class_eval do
include Backend::Mssql::InstanceMethods
end
rails操作sql server乱码问题的解决办法
最新推荐文章于 2020-06-03 11:52:09 发布