`
baryon
  • 浏览: 2663 次
  • 性别: Icon_minigender_1
  • 来自: 一个海岛
文章分类
社区版块
存档分类
最新评论

Ruby的UTF8

阅读更多


做了几天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
    $
分享到:
评论
4 楼 baryon 2012-02-15  
过了两年再来看这个blog, 完全不知所云
3 楼 baryon 2008-05-27  
经过试验发现不使用单独安装 Ruby One-Click Installer
而使用cygwin的ruby版本就可以正常输出UTF8结果了
2 楼 carlosbdw 2008-05-27  
$KCODE='u'
p '日本語は大丈夫ですか'
p '汉语也没问题吗!'


调试汉字的话,我一般用Log文件。
1 楼 baryon 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

相关推荐

    Ruby 与编码

    Ruby 与编码 常见问题 * 乱码的问题 * Ruby 中 Unable to convert "\x89" from ASCII-8BIT to UTF8 *Incompatible character encodings: ASCII- 8BIT and UTF-8

    ruby中文文档(ruby入门级别教程)

    Ruby是一种面向对象的、动态类型的编程语言,由Yukihiro "Matz" Matsumoto于1995年创建。它的设计目标是让代码更加简洁、优雅,同时提供高度的可扩展性和灵活性。Ruby在软件开发领域,尤其是Web开发中,因其强大的...

    freeradius 默认生成表转utf8

    目前我们使用的raidus 主要是开源的free radius +mysql+daloradius,由于目前使用网上的教程 基本上都是英文版本的radius,因此当我们想要进行二次开发的时候 会发现数据库的编码很多不是utf8 ,一般都是ENGINE=...

    采用UTF-8解决Ruby on Rails程序的中问题

    1.将.rb文件和.rhtml文件都保存为utf-8格式; 2.在/app/Controller/application.rb中增加如下代码: ruby 代码 代码如下:before_filter :set_charset def set_charset headers[“Content-Type”] = “text/html; ...

    utf8proc:一个干净的C库,用于处理UTF-8 Unicode数据

    ) (原始的utf8proc软件包还包括Ruby和PostgreSQL插件。我们暂时从utf8proc中删除了这些插件,以便暂时仅专注于C库,但计划将它们重新添加或作为单独的软件包发布。) utf8proc软件包是根据免费/开源的(加上受类似...

    ruby 1.9.3 p484稳定版本

    其中最显著的变化之一是默认编码改为UTF-8,这使得处理多语言文本变得更加方便。此外,1.9版本还引入了新的语法特性,如块的语法更简洁(使用'&'操作符),以及更强大的字符串字面量(如%q, %Q, %r等)。 在p484这...

    ruby 1.9.3

    之前的版本中,Ruby默认使用ASCII-8BIT编码,而在1.9.3中,它改为了UTF-8,这使得处理多语言文本变得更加便捷和准确。开发者可以更容易地处理和操作包含非ASCII字符的字符串,从而提升了国际化应用的开发体验。 ...

    ruby编码转换

    执行上述代码会返回当前字符串的编码类型,例如`#<Encoding:UTF-8>`,这表明字符串是以UTF-8格式编码的。 #### 二、强制更改字符串编码信息 虽然`force_encoding`方法可以更改字符串的编码信息,但需要注意的是,...

    Ruby Ini文件读写

    ini = IniFile.new('config.ini', :encoding => 'utf-8') ini['Section1']['key1'] = 'value1' ini['Section1']['key2'] = 'value2' ini['Section2']['key3'] = 'value3' ini.save # 读取INI文件 ini = IniFile....

    Ruby-Ruby库和CLI命令可视化终端中的各种Unicode和ASCII编码

    你还需要设置正确的终端编码,通常是UTF-8,这可以通过修改终端配置或环境变量(例如在bash中设置`LC_ALL`和`LANG`)来完成。 Ruby标准库中的`String`类包含了处理编码的方法,如`encode`用于编码转换,`force_...

    ruby的API文档,有需要同事请下载

    - Unicode支持:Ruby 1.9.3开始默认使用UTF-8编码,增强了对多语言字符集的支持。 - 更强的错误处理:增加了`ensure`块,确保在异常发生时执行特定的清理代码。 - 全新的字符串内部表示:引入了`String#encoding`...

    rails3.1.0解决数据库取出来的信息编码为utf-8

    execute "ALTER TABLE table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;" end end ``` 记得替换`table_name`为实际的表名。 3. **模型设置**: 在对应的模型文件中,可以使用`before_save...

    utf8:用于 Ruby 1.8.x 的轻量级 UTF8-aware String 类

    用于 Ruby 1.8.x 的轻量级 UTF8-aware String 类扫描代码是用 C 实现的(如果你们中有人想帮忙的话,也会喜欢 Java 版本)。 目前,此 gem 在 1.8.7、1.9.2、1.9.3 和 Rubinius 上进行了测试 - 它可能适用于其他人,...

    05Ruby 循环.docx

    # -*- coding: UTF-8 -*- $i = 0 $num = 5 while $i $num do puts("在循环语句中 i = #{$i}") $i += 1 end ``` **输出结果:** ``` 在循环语句中 i = 0 在循环语句中 i = 1 在循环语句中 i = 2 在循环语句中 i =...

    ruby on rails基础知识

    encoding: utf8 database: blog_development pool: 5 username: root password: '' ``` 5. **创建数据库**: 使用 `$ rake db:create` 命令创建数据库。 6. **启动服务器**: 使用 `$ rails s` 启动开发服务器,...

    ruby-ruby的json实现-优质项目.zip

    默认情况下,Ruby使用UTF-8编码。 以上就是Ruby中处理JSON的基本知识点。在实际项目中,理解这些概念并熟练运用将有助于更有效地处理数据交换,特别是在与API交互、存储和恢复数据时。在提供的压缩包文件“ruby_...

    Programming Ruby 1.9 & 2.0 The Pragmatic Programmers’ Guide 4th Edition

    Ruby 2.0的主要语言变化是增加了关键字参数,并将UTF-8作为默认源文件编码。标准库中增加了一些内容,包括支持懒惰访问潜在无限列表的Enumerator::Lazy,Refinements允许你封装对第三方类的更改,并将其作用域限制在...

    Ruby 中关于日文转UTF-8及半角全角转换的技巧

    1.日文转UTF-8 Iconv.new(‘cp932’, ‘utf-8’)与Iconv.new(‘shift_jis’, ‘utf-8’)的区别 Iconv.new(‘shift_jis’, ‘utf-8’)不支持以下的格式: 課№001-18 XXXXXXX 而只能把字符窜中的№换成No.才行 但是...

    Ruby on rails 数据库详细配置

    encoding: utf8 database: myapp_development username: root password: my_password host: localhost test: adapter: mysql2 encoding: utf8 database: myapp_test username: root password: my_...

Global site tag (gtag.js) - Google Analytics