分享 Ruby 中的字符编码转换 Module: NKF

zhuoqun · 2012年10月23日 · 最后由 zhuoqun 回复于 2012年10月23日 · 4908 次阅读

今天为一个乱码的问题头痛了半天,使用 Shell 下的 iconv 以及 ruby 自带的 Iconv 都失败了,最后发现了一个很好用的 Module: NKF.

http://ruby-doc.org/stdlib-1.9.2/libdoc/nkf/rdoc/NKF.html

和 Iconv 不同,使用 NKF 做字符编码转换的时候不需要直到原来的编码,只需要指定编码就行了。例如,如果我需要把字符转换成 UTF-8 编码,只要

string= NKF.nkf("-w", string)

更多用法请参考手册。有了这个东西以后就不怕乱码问题了。😄

nkf 带了一个简单的编码检测,不过没有 icu 的强大,ruby 有个 icu 的绑定 charlock_holmes 可以试试

#1 楼 @luikore 多谢推荐,我找到了:

https://github.com/brianmario/charlock_holmes

有空研究一下。

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