Ruby是否自动检测文件';什么是代码页?
如果使用以下字符保存文本文件,请将其保存为ANSI代码页文件 Ruby返回Ruby是否自动检测文件';什么是代码页?,ruby,unicode,codepages,Ruby,Unicode,Codepages,如果使用以下字符保存文本文件,请将其保存为ANSI代码页文件 Ruby返回ord=63。使用UTF-8保存文件作为代码页返回ord=208177 我应该特别告诉Ruby处理用特定代码页编码的输入吗?如果是这样,您是如何做到这一点的?是在ruby源代码中,还是在使用文件读取的文件中。打开?如果它在ruby源代码中,您可以(在ruby 1.9中)将其添加到文件的顶部: # encoding: utf-8 或者您可以指定大多数其他编码(如iso-8859-1) 如果您正在使用file.open读取文
ord=63
。使用UTF-8保存文件作为代码页返回ord=208177
我应该特别告诉Ruby处理用特定代码页编码的输入吗?如果是这样,您是如何做到这一点的?是在ruby源代码中,还是在使用
文件读取的文件中。打开?如果它在ruby源代码中,您可以(在ruby 1.9中)将其添加到文件的顶部:
# encoding: utf-8
或者您可以指定大多数其他编码(如iso-8859-1)
如果您正在使用file.open
读取文件,可以执行以下操作:
File.open("file.txt", "r:utf-8") {|f| ... }
与编码注释一样,您也可以在此处传入不同类型的编码 是在ruby源代码中,还是在用文件读取的文件中。打开?如果它在ruby源代码中,您可以(在ruby 1.9中)将其添加到文件的顶部:
# encoding: utf-8
或者您可以指定大多数其他编码(如iso-8859-1)
如果您正在使用file.open
读取文件,可以执行以下操作:
File.open("file.txt", "r:utf-8") {|f| ... }
与编码注释一样,您也可以在此处传入不同类型的编码 我正在使用File.open和Ruby 1.8。“r:utf-8”似乎不起作用。那是1.9的功能吗?啊,是的,那是1.9特有的。当涉及到其他编码时,1.8不是那么好。但是,您可以尝试使用-ku
选项调用ruby,或者将$KCODE
变量设置为“U”
,然后要求使用“jcode”
,从而将字符串编码设置为UTF-8。我不确定这是否有效,如果可以的话,我建议您使用Ruby 1.9。我使用的是File.open,我使用的是Ruby 1.8。“r:utf-8”似乎不起作用。那是1.9的功能吗?啊,是的,那是1.9特有的。当涉及到其他编码时,1.8不是那么好。但是,您可以尝试使用-ku
选项调用ruby,或者将$KCODE
变量设置为“U”
,然后要求使用“jcode”
,从而将字符串编码设置为UTF-8。我不确定这是否有效,如果可以的话,我建议您使用Ruby 1.9。