看了一些朋友关于ROR中文问题的解决方法,受益匪浅;不过我的工作在一个遗留系统中,比如mysql的数据表全是latin的,sigh~``
下面的方法有点另类,并不推荐,仅作权宜之计。若众高手有更好的方法,可以一起讨论!当然除了把所有文件都改成UTF-8。
环境相关信息
- 操作系统Suse Linux,默认编码为en_US
- Ruby 1.8.2,rails 1.2
- Mysql 3.x,数据表编码均为latin-1
问题一、Ruby脚本
$ruby -e "puts '诺基亚'"
执行失败,“-e:1: Invalid char `\273' in expression”
原因是ruby默认使用的KCODE是UTF-8,解决方法,使用-KN,将KCODE设置为NONE,那么:
$ruby -Kn -e "puts '诺基亚'"
问题二、Rails和数据库
在rails_home/app/controller/application.rb中添加filter:
before_filter :set_charset
def set_charset
headers["Content-Type"]="text/html;charset=gbk"
end
在rails_home/config/environment.rb中添加KCODE设置
$KCODE="none"
在众rhtml中的head标签里加入编码设置
注意事项
还是上面的例子
$ruby -KN -e "puts '诺基亚'[0..1]"
这里会打印一个乱麻,因为这里还是使用单字节进行处理的
$ruby -KN -e "puts '诺基亚'[0..2]"
可以打印“诺”字,若要避免这种错误出现,ruby提供了一个安全的方式,建议使用:
$ruby -KN -e "puts '诺基亚'.chars[0..1]"
<meta http-equiv="content-type" content="text/html;charset=gbk">
Well done!
至此,我系统里的中文问题基本解决
分享到:
相关推荐
遗留系统SOA迁移解决方案,经受过实战检验的好方案
物品遗留检测解决方案共10页.ppt
物品遗留检测解决方案共10页.pptx
处理遗留系统
遗留系统重构与维护,火龙果软件课程讲义,着重介绍软件维护思想
关于数据地图的几个遗留问题解决方案.docx
一种Java遗留系统服务化切分和封装方法
在JSP页面中查询数据是会出现多次提交的事件,如何避免呢,这里个人见解,
技巧1:使用分析器 分析器提供了任何其他工具无法提供的功能,从而能够深入检查你的应用。如果你的应用已经有一年多时间没有被分析过了,那么它肯定会有大块大块的低效代码,潜伏在某个黑暗的角落。...
可视化的遗留系统微服务改造(54页).pdf
房地产开发项目历史遗留问题专项整治总体工作方案.pdf
本文来自于servicecomb,本章探讨使用微服务改造遗留系统实践中的一些问题,希望对您能有所帮助。随着RESTful、云计算、DevOps、持续交付等概念的深入人心,微服务(Microservices)逐渐成为系统架构的一个代名词。...
某县某历史遗留矿山市场化生态修复方案(提纲).pdf
系统多:八大子系统,相互独立 "太"专业:缺乏专业操作人员 缺保障:品牌多厂家多服务少 安全性差:易误操作,数据丢失 无增值:无法运营,义务劳动 现实中小区系统现状| 智慧社区-智能小区解决方案全文共56页,...
系统多:八大子系统,相互独立 "太"专业:缺乏专业操作人员 缺保障:品牌多厂家多服务少 安全性差:易误操作,数据丢失 无增值:无法运营,义务劳动 现实中小区系统现状| 智慧小区智能安防技术解决方案全文共56页...
典型应用场景 智能监控系统的各种功能,可应用于博物馆的不同应用场景: 1) 游览区的物体遗留 博物馆智能分析智能监控系统整体解决方案全文共11页,当前为第1页。博物馆每天参观的人数众多,人来人往,外来游客...
相互独立 "太"专业:缺乏专业操作人员 缺保障:品牌多厂家多服务少 安全性差:易误操作,数据丢失 无增值:无法运营,义务劳动 现实中小区系统现状| 智慧小区-互联网+智能小区-智能安防设计方案解决方案全文共57页...
一个Ruby gem用于帮助你重构你的遗留代码
描述了如何用重构的方法对大型遗留系统进行修补 对维护大型系统是一个新的思路
在传统企业甚至互联网企业中往往存在大量的遗留系统,这些遗留系统大多都能够正常工作,有的可能还运行着关键业务或者持有核心数据。但是,大部分遗留系统通常经常存在技术陈旧、代码复杂、难以修改等特点。笔者曾经...