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