看了一些朋友关于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中文解决方案相关推荐

  1. linux下的oracle中文乱码,linux系统中oracle出现中文乱码怎么办

    linux系统中oracle出现中文乱码怎么办 发布时间:2020-06-10 10:04:55 来源:亿速云 阅读:148 作者:Leah linux系统中oracle出现中文乱码怎么办?这篇文章总 ...

  2. CB在Windows系统中程序输出中文时出现乱码

    前几天在cb写代码的时候出现中文乱码(如下) 本来也是新手,啥都不会,只能到处查解决方法.网上确实有,但是不知道为什么我的CB还是会出现各种奇葩状况.后来在一本教材里面找到了解决方法如下(疯狂感谢这位 ...

  3. 英文版WIN7系统中打开软件中文乱码解决办法

    在win7英文版下,很多软件中文字体均显示问号,通过如下解决方案,经测试,可以完美解决: 一. 通过控制面板->时钟.语言和区域,打开区域和语言面板 二.修改如下配置: 1.区域和语言-> ...

  4. 系统更新后mysql用不了中文,Mysql在debian系统中不能插入中文的终极解决方案

    在debian环境下,彻底解决mysql无法插入和显示中文的问题,需要的朋友可以参考下 在debian环境下,彻底解决mysql无法插入和显示中文的问题 Linux下Mysql插入中文显示乱码解决方案 ...

  5. 【转载】C#中StreamReader读取中文文本出现乱码的解决方法

    首先O(∩_∩)O谢谢一品梅分享了自己的经验,这是他的blog原文地址 http://www.cnblogs.com/onlyendure/archive/2008/03/25/1121247.htm ...

  6. qt编写的android程序在android系统中运行,中文显示乱码的解决方法

    在main函数中添加 QTextCodec::setCodecForTr(QTextCodec::codecForLocale()); QTextCodec::setCodecForTr(QTextC ...

  7. Linux系统中解决没有中文输入法

    安装了Linux系统之后,选择setting->language,添加chinese,选择intelligent Pinyin项后就可以使用中文输入 若没有拼音源,则搭建yum仓库(4.2 搭建 ...

  8. 关于酷我音乐盒在Windows2003系统中无法运行的解决方案

    平时用惯了酷我音乐盒,在现在用的系统(Window2003)里也想装一个,在http://mbox.kuwo.cn/下载了最新版的酷我音乐盒,安装也非常顺利,但是只要一点击播放就马上报错,然后自动关闭 ...

  9. windows查看linux文件中文,Linux 系统下无法查看Windows 中创建的中文文件名

    标  题: Linux 系统下无法查看Windows 中创建的中文文件名 我是Linux初学者,在网上搜索了很久,经过多次尝试仍然无法解决问题,只好在这里发贴请教了,还望各位高手指点一下. 问题描述: ...

最新文章

  1. 通过tinyxml解析百度热词榜单
  2. Flink从入门到精通100篇(十五)-Flink SQL FileSystem Connector 分区提交与自定义小文件合并策略 ​
  3. 如何让excel表格排头一直都在_Excel表格技巧—如何计算矩阵相乘
  4. linux日志绕接,[判断题] 绕接式保安接线排按结构分为固定式和旋转式。
  5. 【Flink】Flink 写入 AnalyticDB MySQL
  6. gtest框架的介绍与应用
  7. 背景图片固定(背景图片附着)(HTML、CSS)
  8. 回忆大学到现在为止学到了什么?
  9. 计算机操作系统第四版课后题答案汤小丹
  10. dubbo源码解析-服务暴露原理
  11. grandMA2 onPC 3.1.2.5的DMX参数摸索
  12. oracle汉字转换成拼音首字母和五笔首字母
  13. 苹果账号授权登录APP 服务端验证
  14. 【WebStorm学生认证】如何用学生邮箱进行JetBrains学生认证
  15. 离线安装openOffice
  16. 转载:ecCodes 学习 利用ecCodes Python API对GRIB文件进行读写
  17. win10 电脑蓝牙无法使用无法连接问题的一种神奇解决办法
  18. 【Java分享客栈】SpringBoot线程池参数搜一堆资料还是不会配,我花一天测试换你此生明白。
  19. 多任务多目标CTR预估技术
  20. html5图片点击放大

热门文章

  1. rm -rf误删文件的恢复(extundelete工具的使用)
  2. 以优美方式编写JavaScript代码
  3. 【OpenCV CUDA】OpenCV和Cuda结合编程
  4. 程序员谈如何掌握计算机专业英语
  5. 静态内容负载均衡的具体实现-续《几百元搞定大型网站》
  6. 计算复杂数学表达式的值
  7. Q93:PLY文件对应图形法向量反向问题——以bunny10K为例
  8. 数据治理中哪3点最重要
  9. 物联网大数据如何改善农业运营
  10. mysql5.7 密码不过期,mysql5.7 密码过期问题