ActionView::TemplateError (incompatible character encodings: ASCII-8BIT and UTF-
发布日期:2021-09-29 20:08:54 浏览次数:5 分类:技术文章

本文共 744 字,大约阅读时间需要 2 分钟。

ruby 1.9.2和mysql 2.8.1的encode不匹配问题
mysql 2.8.1有时候明明返回的是utf8但是却告诉ruby是ascii所以
[img]http://dl.iteye.com/upload/attachment/487829/481cada8-cfb6-3339-97bd-be375ab24dfc.png[/img]
所以,要么呢装一个好点版本的msyql,要么呢,如下?
#lib/mysql_utf8.rb require 'mysql' class Mysql::Result   def encode(value, encoding = "utf-8")     String === value ? value.force_encoding(encoding) : value   end   def each_utf8(&block)     each_orig do |row|       yield row.map {|col| encode(col) }     end   end   alias each_orig each   alias each each_utf8   def each_hash_utf8(&block)     each_hash_orig do |row|       row.each {|k, v| row[k] = encode(v) }       yield(row)     end   end   alias each_hash_orig each_hash   alias each_hash each_hash_utf8 end
在environments相关环境里load一下,就可以了

转载地址:https://blog.csdn.net/horace_lee/article/details/83936006 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:处理僵尸进程
下一篇:rake aborted! undefined method `task' for

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年04月05日 03时31分52秒