中文乱码情况:
1)views目录下的.html.erb文件中直接写中文,在游览器中显示乱码
2)通过界面保存到mysql数据库的中文,在数据库及界面上显示均正常,但在controller中输出为乱码
解决方案:
利用Iconv库
请参考:http://www.kuqin.com/rubycndocument/man/addlib/Iconv.html
界面中文显示乱码解决方案(html.erb中的中文为GB2312编码,输出时需要转换成UTF-8):
将
<p>你好</p>
改为
<p>
<%=Iconv.conv("UTF-8","GB2312","你好")%>
</p>
Controller输出从数据库取出的中文(数据库保存为UTF-8编码)到控制台中文为乱码解决方案:
添加如下代码
require "iconv"
使用时
@products = Product.all
@products.each do |t|
Iconv.conv("GB2312","UTF-8",t.title)
end