博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.erb 中不能显示从mysql检索出的中文 incompatible character encodings: UTF-8 and ASCII-8BIT...
阅读量:5925 次
发布时间:2019-06-19

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

问题现象:

  在.html.erb中显示mysql中的中文字符时会出现 

incompatible character encodings: UTF-8 and ASCII-8BIT 错误

问题可能原因:

 

mysql_adapater出来的数据是ASCII-8BIT

解决方法:

 

修改根目录下的\Ruby192\lib\ruby\gems\1.9.1\gems\activerecord-3.0.9\lib\active_record\connection_adapters中的
mysql_adapter.rb文件
 def select(sql, name = nil)
          @connection.query_with_result = true
          result = execute(sql, name)
          rows = []
          result.each_hash { |row| rows << row }
          result.free
          @connection.more_results && @connection.next_result    # invoking stored procedures with CLIENT_MULTI_RESULTS requires this to tidy up else connection will be dropped
      # add begin
      if @config[:encoding] && @config[:encoding]=="utf8"
            rows.each do |row|
              row.each do |key, value|
                if (value.class == String)
                  value.force_encoding("UTF-8")
                end
              end
            end
          end
      # add end
          rows
        end
 

 

 

 

 

转载于:https://www.cnblogs.com/kting/archive/2011/09/15/2177530.html

你可能感兴趣的文章
C++ 数字转换为string类型
查看>>
程序员全国不同地区,微信(面试 招聘)群。
查看>>
【干货】界面控件DevExtreme视频教程大汇总!
查看>>
闭包 !if(){}.call()
查看>>
python MySQLdb安装和使用
查看>>
Java小细节
查看>>
poj - 1860 Currency Exchange
查看>>
chgrp命令
查看>>
Java集合框架GS Collections具体解释
查看>>
洛谷 P2486 BZOJ 2243 [SDOI2011]染色
查看>>
linux 笔记本的温度提示
查看>>
(转)DOTA新版地图6.78发布:大幅改动 增两位新英雄
查看>>
数值积分中的辛普森方法及其误差估计
查看>>
Web service (一) 原理和项目开发实战
查看>>
跑带宽度多少合适_跑步机选购跑带要多宽,你的身体早就告诉你了
查看>>
广平县北方计算机第一届PS设计大赛
查看>>
深入理解Java的接口和抽象类
查看>>
java与xml
查看>>
Javascript异步数据的同步处理方法
查看>>
快速排序——Java
查看>>