中文乱码情况:
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
本文介绍了在Ruby on Rails应用中遇到的中文乱码问题及其解决方案。主要涉及在.html.erb视图文件中直接书写中文导致的乱码现象,以及从MySQL数据库中读取的中文字符在控制器中显示为乱码的情况。文中提供了使用Iconv库进行编码转换的具体实现方法。
253

被折叠的 条评论
为什么被折叠?



