before_filter :set_charset
def set_charset
if request.xhr?
header['Content-Type']="text/javascript,charset=utf-8"
else
header['Content-Type']="text/html,charset=utf-8"
end
suppress(ActiveRecord::StatementInvalid) do
ActiveRecord::Base.connection.execute 'SET NAMES UTF8'
end
end
如果,你遇到了上面的错误提示,
那么,说明你的Rails版本升级了,设置编码的描述改变了,请点击这里
Rails中文显示乱码的描述改变
以上的设置分布对应于html javascript mysql同时还要注意
文件编辑保存时的编码也需要统一为utf8(建议在编辑器中直接设置为utf8,注意有不少编辑器默认跟操作系统默认编码走,比如xp的默认编码是gbk,而不是utf8,这一点需要特别注意)
数据库的默认编码也需要统一为utf8,默认的latin1_swedish_ci也可能会引起乱码问题
下面还有
night_stalker回答问题的部分
将字符串编码改成系统编码(中文windows控制台一般是GB2312或者GBK)
在ruby 1.8,用iconv:
require 'iconv'
p Iconv.conv('gbk','utf-8',item[:name]))
require 'iconv'
p Iconv.conv('gbk','utf-8',item[:name]))
在ruby 1.9,用encoding:
p item[:name].encode(Encoding.default_external)
p item[:name].encode(Encoding.default_external)
如果嫌每次都转码不方便,可以
require 'iconv'
def echo something
if something.nil?
p nil
else
p Iconv.conv('gbk','utf-8',something.to_s)
end
end
require 'iconv'
def echo something
if something.nil?
p nil
else
p Iconv.conv('gbk','utf-8',something.to_s)
end
end
以后就用echo输出编码为utf-8的。
分享到:
相关推荐
标题中的“Rails的中文乱码问题”涉及到的是在使用Ruby on Rails框架开发Web应用时,遇到的中文字符编码不正确的问题。Rails是一个基于Ruby语言的开源Web开发框架,它遵循MVC(Model-View-Controller)架构模式。在...
在Rails框架中处理文件上传时,经常会遇到一个问题,那就是当用户尝试上传包含中文名称的文件时,文件名可能会出现乱码。这个问题主要是由于字符编码不兼容导致的。Rails默认使用UTF-8编码,但文件系统或者某些外部...
标题 "rails3.1.0解决数据库取出来的信息编码为utf-8" 指向的是在使用Rails 3.1.0版本时遇到的一个常见问题,即从数据库检索的数据编码不是预期的UTF-8格式,导致显示异常或乱码。在Rails应用中,数据的正确编码对于...
中文乱码解决办法 cmd下中文不能输入 将cmd代码页改成936: chcp 936 ruby 读取中文强制设置为utf-8 可以在文件中加一个注释语句 # encoding: UTF-8,ruby就会用utf-8格式载入 cmd输出乱码 这个解决不掉, 我看到...
在中文环境中,可能会遇到编码问题,如乱码等,这个解决方案可能是为了解决这些问题而提供的。 描述中提到的“插件”可能是指RoR的一些中文支持插件,这些插件可以帮助开发者更好地处理中文字符集,避免编码错误。...
### Ruby语言中的注释用法 ...通过以上介绍,我们了解到在Ruby中如何使用注释以及如何解决中文编码问题,这对于初学者来说是非常重要的基础知识。掌握了这些内容后,你可以更顺利地编写并运行包含中文字符的Ruby程序。
本文将详细介绍如何在Linux环境下,特别是Redhat Linux 5.5上安装Redmine 2.0及其相关组件,以及解决可能出现的问题。 **安装环境与所需软件** 在开始安装前,确保你的系统满足以下条件: - **操作系统**: Redhat ...
4、收集网上一些FusionCHarts的使用问题,如中文乱码的解决办法; 5、包括了官方的FusionCharts.js脚本文件,拿去即可使用了,呵呵; 6、最新独家修改的官方的DEMO例子,直接可以在本地打开哦。 不了解FusionCharts...
4、收集网上一些FusionCHarts的使用问题,如中文乱码的解决办法; 5、包括了官方的FusionCharts.js脚本文件,拿去即可使用了; 6、最新独家修改的官方的DEMO例子,直接可以在本地打开哦。 不了解FusionCharts的人...
7. **项目和作业**:每个子文件夹可能对应一个特定的项目或作业,学员通过完成这些任务来巩固所学知识,如构建小型应用程序、解决算法问题等。 8. **代码风格和最佳实践**:App Academy注重代码质量和可读性,学员...
通过安装`ruby-debug`或类似的调试工具,可以在开发过程中进行单步调试、设置断点等功能,从而更加高效地定位和解决问题。 综上所述,为了搭建一个高效且功能完善的开发环境,需要综合考虑IDE的选择、命令行工具的...
下面是一个使用FusionCharts的简单示例,展示了如何通过Java Web应用生成动态图表,并处理中文乱码问题。 ```jsp ;charset=UTF-8" pageEncoding="UTF-8"%> String area = request.getParameter("area"); if ...