论坛首页 编程语言技术论坛

Ruby的UTF8

浏览 4691 次
锁定老帖子 主题:Ruby的UTF8
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-05-26  


做了几天ruby的程序,关于日语和汉语的乱码问题做了一点研究
yaml文件可以是UTF8格式,ruby可以正常读取,但是记得一定是不带signature的UTF8格式
我使用的emeditor编辑器可以保存文件的时候选择这种UTF8 without signature的编码方式。

做ruby和ror程序,包括cygwin的gcc程序的最佳工具就是netbeans,现在最新版本是6.1
在netbeans的output窗口输出的文字也总是乱码,这时候需要手动修改在netbeans安装目录下的\etc\netbeans.conf 这一配置文件。在netbeans_default_options=”….的最后,引号之前空一个格,然后键入

引用
-J-Dfile.encoding=UTF-8


保存netbeans.conf,在vista 和 windows2008里这个目录有权限保护,需要改安全属性,才能保存成功。
重启netbeans应该可以解决output乱码的问题了。

在windows的console窗口显示UTF8,也是一个问题。
据说 chcp 65001 这个命令可以改变console的编码格式,值得一试
另外的办法就是安装cygwin UTF8, 使用cygwin代替一般的cmd console
cygwin UTF8在这里:http://www.okisoft.co.jp/esc/cygwin-20.html
我没有装,因为我在windows2008安装的cygwin出现了问题,如下,百思不得其解,暂且作罢

   
引用
Huh? No /etc/fstab file? Using default root and cygdrive prefix...
    bash: /usr/bin/tr: No such file or directory
    bash: /usr/bin/sed: No such file or directory
    $
   发表时间:2008-05-27  
/etc/fstab 找不到是目前的cygwin的一个BUG,应该可以很快改好。
目前可以使用安装cygwin时选择 Prev 也就是前一个版本。
http://cygwin.com/ml/cygwin-apps/2008-05/msg00180.html

通过安装UTF-8 Cygwin是可以显示日文和中文的。
下载修改过的cygwin1.dll
http://www.okisoft.co.jp/esc/utf8-cygwin/cygwin1-dll-20-04-21.tar.bz2
解压缩以后置换掉cygwin/bin下的同名文件。
然后修改home/yourname/下的.bashrc和.inputrc文件
将下面两个文件下载,将其内容拷贝到对应文件的最后。注意不要直接置换对应的文件。
http://www.okisoft.co.jp/esc/utf8-cygwin/.bashrc
http://www.okisoft.co.jp/esc/utf8-cygwin/.inputrc

修改适当的字体,你可以用cat看到用UTF8 without signature编码的文件内容。
如果一个rb文件类似

$KCODE='u'
p '日本語は大丈夫ですか'
p '汉语也没问题吗!'

仍然在console上输出乱码



实在没有办法只有
开一个cygwin然后输入

tail -f log.txt

然后在另一个cygwin里面打log出来
ruby -Ku test.rb >> log.txt
0 请登录后投票
   发表时间:2008-05-27  
$KCODE='u'
p '日本語は大丈夫ですか'
p '汉语也没问题吗!'


调试汉字的话,我一般用Log文件。
0 请登录后投票
   发表时间:2008-05-27  
经过试验发现不使用单独安装 Ruby One-Click Installer
而使用cygwin的ruby版本就可以正常输出UTF8结果了
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics