Ruby 编码优化版 ruby 项目发布

kiol · 2013年08月16日 · 最后由 kiol 回复于 2013年08月18日 · 2686 次阅读

为了解决一些我自己使用上的一些编码问题,我 fork 了这个版本。同样也希望能够给遇到类似问题的朋友有所帮助。 可能有一些实现是 quick and dirty 的,但我会尝试尽量让实现更通用和正确。 如果有时间,我会尝试梳理一下 ruby 的内部编码体系,并尝试进行较彻底的改进。但是我现在还没有找到 ruby 内部实现的关于的编码方面的设计文档和原则,所以也不太清楚自己的修改是不是合理。

我要实现的目标:

  • 在中文的 windows 系统上,内部编码使用 utf-8 的情况下,写 ruby 代码时不再需要显式的转码操作,底层自动做好转码操作,给到 ruby 代码里面的都是编码成内部编码的。
  • 在中文的 windows 系统上,输入和输出的中文都没有问题,都不出现乱码,包括所有的异常和出错信息。
  • 无论在什么语言的 windows 系统上,我都可以使用不同的预算的 ruby 脚本文件,并且不需要做显式的转码操作,自动在内外部交互的边界进行编码的转换。

已经完成的工作:

  • 使用 ruby -Egbk:utf-8 rubyfile.rb 进行调用,建议文件头统一设置$stdout.set_encoding("utf-8") 和$stderr.set_encoding('utf-8“)
  • 打开中文路径,require 中文文件都没有问题,不需要做显式编码转换。
  • puts,以及异常,错误输出都正确处理中文,包括中文方法名,文件名等。

项目地址:https://github.com/jiayp/eiruby

求编译好的程序的存储地。

补充一下,本人是 ruby 程序员不是 C 程序员,C 水平实在是半瓶醋,大家多海涵

提交一个 issue 到 ruby issue list.这样你可以得到更专业的回复。

提交过了,提交了一堆呢,有的接收了,有的驳回了。 没办法,只能自己先做个分支了,主要和他们用英文交流太困难

ruby issue list 里面只接收 英文 的提交么?

帮你翻译了 README,已发 pull request

#5 楼 @ywjno 不知道哦,ruby 核心团队里面有懂中文的人吗?倒是看到有日文的 bug,bug 管理系统里面 bug 也只有日文和英文两个选项。

#6 楼 @oran 十分感谢,已经 merge 了。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号