字符串和正则表达式与国际化关系紧密,utf-8可以让我们轻松搞定国际化问题
关于Unicode和utf-8入门,请看[url=http://hideto.iteye.com/blog/97803]深入了解字符集和编码[/url]
[b]
Internally, a string is just a series of bytes.
在系统内部,字符串只是一个字节序列。
[/b]
字符串本身不知道如何解析,它必须根据外部标准(编码)来决定如何解析。
一个字节不与一个字符一一对应。
Ruby有一个全局变量叫$KCODE,它有如下值:
a A ASCII
n N NONE (ASCII)
e E EUC
s S SJIS
u U UTF-8
默认情况下$KCODE的值为n,即ASCII编码,把字符串当成单字节序列来处理
我们想让Ruby使用utf-8来处理字符串和正则表达式的话,只需要将$KCODE设为u即可
另外Ruby自带了jcode库,我们require 'jcode'后,在$KCODE为"u"时可以使用String的jsize来得到中文字数
而Rails使用utf-8编码请参考[url=http://www.railscn.com/viewthread.php?tid=2521&extra=page%3D1]但愿这个帖子能终结所有rails中文问题[/url]
使用Gettext进行I18N和L10N则请参考[url=http://www.hhtong.com/blog1/articles/2006/05/15/rails20060514_i18n_gettext]使用工具gettext -- 将Rails框架应用软件中文化[/url]
关于Unicode和utf-8入门,请看[url=http://hideto.iteye.com/blog/97803]深入了解字符集和编码[/url]
[b]
Internally, a string is just a series of bytes.
在系统内部,字符串只是一个字节序列。
[/b]
字符串本身不知道如何解析,它必须根据外部标准(编码)来决定如何解析。
一个字节不与一个字符一一对应。
Ruby有一个全局变量叫$KCODE,它有如下值:
a A ASCII
n N NONE (ASCII)
e E EUC
s S SJIS
u U UTF-8
默认情况下$KCODE的值为n,即ASCII编码,把字符串当成单字节序列来处理
我们想让Ruby使用utf-8来处理字符串和正则表达式的话,只需要将$KCODE设为u即可
另外Ruby自带了jcode库,我们require 'jcode'后,在$KCODE为"u"时可以使用String的jsize来得到中文字数
而Rails使用utf-8编码请参考[url=http://www.railscn.com/viewthread.php?tid=2521&extra=page%3D1]但愿这个帖子能终结所有rails中文问题[/url]
使用Gettext进行I18N和L10N则请参考[url=http://www.hhtong.com/blog1/articles/2006/05/15/rails20060514_i18n_gettext]使用工具gettext -- 将Rails框架应用软件中文化[/url]