ruby下使用iconv实现的中文显示
2013-09-18 11:18
232 查看
iconv是ruby的标准库,它可以将文档转换为另外一种编码,而ruby是用ASCII编码来读源码的,
要使用(SCITE)支持中文,需要源文件第一行加入#encoding: utf-8,如果有多个文件,每个文件都要加
####
#encoding: utf-8
require 'iconv'
#require 'charguess'
cov = Iconv.new('gbk','utf-8')
#cov = Iconv.new('utf-8','gbk')
cn_str='2008北京奥运会!welcome!'
cn_str2='在中文格式下“'
cn_str3='”字符串长度为:'
puts cn_str #此处会输出乱码
#puts CharGuess::guess(cn_str).to_s
puts cov.iconv(cn_str2) + cov.iconv(cn_str) + cov.iconv(cn_str3) +cov.iconv #正常输出(cn_str).length.to_s
##以下是输出结果
C:\Documents and Settings\sharp>ruby d:\workspace\ruby\test\test\lib\main.rb
2008鍖椾含濂ヨ繍浼?welcome!
在中文格式下“2008北京奥运会!welcome!”字符串长度为:18
要使用(SCITE)支持中文,需要源文件第一行加入#encoding: utf-8,如果有多个文件,每个文件都要加
####
#encoding: utf-8
require 'iconv'
#require 'charguess'
cov = Iconv.new('gbk','utf-8')
#cov = Iconv.new('utf-8','gbk')
cn_str='2008北京奥运会!welcome!'
cn_str2='在中文格式下“'
cn_str3='”字符串长度为:'
puts cn_str #此处会输出乱码
#puts CharGuess::guess(cn_str).to_s
puts cov.iconv(cn_str2) + cov.iconv(cn_str) + cov.iconv(cn_str3) +cov.iconv #正常输出(cn_str).length.to_s
##以下是输出结果
C:\Documents and Settings\sharp>ruby d:\workspace\ruby\test\test\lib\main.rb
2008鍖椾含濂ヨ繍浼?welcome!
在中文格式下“2008北京奥运会!welcome!”字符串长度为:18
相关文章推荐
- cocos2d-x中文显示问题解决方法(使用cocos2dx中自带的iconv实现)
- cocos2d-x中文显示问题解决方法(使用cocos2dx中自带的iconv实现)
- JSP使用ckfinder实现中文图片上传后,无法显示,主要是tomcat不支持中文路径
- [Cocos2D-X]使用iconv解决VS上中文显示乱码的问题+android导入第三方库iconv
- Unity编辑器开发,使用CustomPropertyDrawer实现枚举中文显示
- 使用POST表单处理方法,编写cgi和html文件,能够实现中文显示
- [转载] 使用IValueConverter接口实现自定义绑定数据的显示方式
- 【Lucene】使用EasyUI和JQuery配合Lucene实现数据的分页查询以及高亮显示
- Android-使用C++实现调用本地方法返回字符串显示在界面上/NDK-JNI开发实例(八)
- 使用xlsx 实现纯前端的上传excel,并解析显示
- struts2 使用redirect实现带参重定向显示action中的变量
- 使用虚列表和自画实现文件夹缩略图的显示
- 使用自定义的item、Adapter和AsyncTask、第三方开源框架PullToRefresh联合使用实现自定义的下拉列表(从网络加载图片显示在item中的ImageView)
- Matplotlib使用笔记----中文字体显示
- 使用cstring实现中文字符串模糊匹配
- [Unity3D]手机3D游戏开发:如何实现最高分的存储与显示(七)----使用Game ID避免数据重复输入
- 泛型中使用接口的显示实现
- Python使用Matplotlib模块时坐标轴标题中文及各种特殊符号显示方法
- 使用CSS实现下拉菜单的动态显示
- 在VC6.0中使用 VFW并响应鼠标双击实现全屏显示