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

zhuoqun · October 23, 2012 · Last by zhuoqun replied at October 23, 2012 · 4888 hits

今天为一个乱码的问题头痛了半天,使用 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

有空研究一下。

You need to Sign in before reply, if you don't have an account, please Sign up first.