[转载]遗留系统中的RUBY中文解决方案
看了一些朋友关于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中文解决方案关键字: ruby on rails
还是上面的例子
$ruby -KN -e "puts '诺基亚'[0..1]"
这里会打印一个乱麻,因为这里还是使用单字节进行处理的
$ruby -KN -e "puts '诺基亚'[0..2]"
可以打印“诺”字,若要避免这种错误出现,ruby提供了一个安全的方式,建议使用:
$ruby -KN -e "puts '诺基亚'.chars[0..1]"
Well done!
至此,我系统里的中文问题基本解决
转载于:https://blog.51cto.com/axlrose/1294579
[转载]遗留系统中的RUBY中文解决方案相关推荐
- linux下的oracle中文乱码,linux系统中oracle出现中文乱码怎么办
linux系统中oracle出现中文乱码怎么办 发布时间:2020-06-10 10:04:55 来源:亿速云 阅读:148 作者:Leah linux系统中oracle出现中文乱码怎么办?这篇文章总 ...
- CB在Windows系统中程序输出中文时出现乱码
前几天在cb写代码的时候出现中文乱码(如下) 本来也是新手,啥都不会,只能到处查解决方法.网上确实有,但是不知道为什么我的CB还是会出现各种奇葩状况.后来在一本教材里面找到了解决方法如下(疯狂感谢这位 ...
- 英文版WIN7系统中打开软件中文乱码解决办法
在win7英文版下,很多软件中文字体均显示问号,通过如下解决方案,经测试,可以完美解决: 一. 通过控制面板->时钟.语言和区域,打开区域和语言面板 二.修改如下配置: 1.区域和语言-> ...
- 系统更新后mysql用不了中文,Mysql在debian系统中不能插入中文的终极解决方案
在debian环境下,彻底解决mysql无法插入和显示中文的问题,需要的朋友可以参考下 在debian环境下,彻底解决mysql无法插入和显示中文的问题 Linux下Mysql插入中文显示乱码解决方案 ...
- 【转载】C#中StreamReader读取中文文本出现乱码的解决方法
首先O(∩_∩)O谢谢一品梅分享了自己的经验,这是他的blog原文地址 http://www.cnblogs.com/onlyendure/archive/2008/03/25/1121247.htm ...
- qt编写的android程序在android系统中运行,中文显示乱码的解决方法
在main函数中添加 QTextCodec::setCodecForTr(QTextCodec::codecForLocale()); QTextCodec::setCodecForTr(QTextC ...
- Linux系统中解决没有中文输入法
安装了Linux系统之后,选择setting->language,添加chinese,选择intelligent Pinyin项后就可以使用中文输入 若没有拼音源,则搭建yum仓库(4.2 搭建 ...
- 关于酷我音乐盒在Windows2003系统中无法运行的解决方案
平时用惯了酷我音乐盒,在现在用的系统(Window2003)里也想装一个,在http://mbox.kuwo.cn/下载了最新版的酷我音乐盒,安装也非常顺利,但是只要一点击播放就马上报错,然后自动关闭 ...
- windows查看linux文件中文,Linux 系统下无法查看Windows 中创建的中文文件名
标 题: Linux 系统下无法查看Windows 中创建的中文文件名 我是Linux初学者,在网上搜索了很久,经过多次尝试仍然无法解决问题,只好在这里发贴请教了,还望各位高手指点一下. 问题描述: ...
最新文章
- 通过tinyxml解析百度热词榜单
- Flink从入门到精通100篇(十五)-Flink SQL FileSystem Connector 分区提交与自定义小文件合并策略 ​
- 如何让excel表格排头一直都在_Excel表格技巧—如何计算矩阵相乘
- linux日志绕接,[判断题] 绕接式保安接线排按结构分为固定式和旋转式。
- 【Flink】Flink 写入 AnalyticDB MySQL
- gtest框架的介绍与应用
- 背景图片固定(背景图片附着)(HTML、CSS)
- 回忆大学到现在为止学到了什么?
- 计算机操作系统第四版课后题答案汤小丹
- dubbo源码解析-服务暴露原理
- grandMA2 onPC 3.1.2.5的DMX参数摸索
- oracle汉字转换成拼音首字母和五笔首字母
- 苹果账号授权登录APP 服务端验证
- 【WebStorm学生认证】如何用学生邮箱进行JetBrains学生认证
- 离线安装openOffice
- 转载:ecCodes 学习 利用ecCodes Python API对GRIB文件进行读写
- win10 电脑蓝牙无法使用无法连接问题的一种神奇解决办法
- 【Java分享客栈】SpringBoot线程池参数搜一堆资料还是不会配,我花一天测试换你此生明白。
- 多任务多目标CTR预估技术
- html5图片点击放大