`
qingshou117
  • 浏览: 47191 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

启用MYSQL后原有程序乱码

    博客分类:
  • ROR
阅读更多
发现换了ruby1.9.2和MYSQL以后,原来好好的程序都出现乱码了,折腾了好久原来是ruby 1.9字符串不兼容编码的问题。
用了lllyq的方法后成功解决问题,在application控制器加一个过滤器,强制转换成UTF8
before_filter :force_utf8
def force_utf8
    if RUBY_VERSION > '1.9' 
    Encoding.default_external = Encoding::UTF_8  
    Fixnum.class_eval do 
      alias_method : old_to_s, :to_s 
      def to_s  
        old_to_s.force_encoding("UTF-8")  
      end 
    end 
    Array.class_eval do 
      alias_method : old_pack, :pack 
      def pack(*args)  
        old_pack(*args).force_encoding("UTF-8")  
      end 
    end 
    end
  end 

--这样做有个问题,就是执行很慢,目前还没找到更好的方法,不得以切回使用sqlite3数据库
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics