2011-09-01 37 views
4

在红宝石1.8.7中,什么决定了File#path的编码是什么?文件系统?某处的配置?每个单独文件的编码?什么决定了文件#路径的编码?

我见过在不同操作系统的其他相同环境中的两种不同的编码。

相关问题:Reading filename in multiple OS without encoding problem with Ruby

更新

我想我需要设置/知道这个文件的编码...这没有什么帮助(除非我把它错地方)...

 
export LC_ALL=en_US.UTF-8 
export LC_CTYPE=en_US.UTF-8 
+0

我不知道一个'File#name'方法。哪个模块包含这个?它既不在Ruby 1.8.7核心中,也不在_fileutils_模块中。 –

+0

哎呦!疲倦的大脑...'文件#路径'...现在修复 –

+0

它返回从FS接收到的原始字节字符串。要正确解释它,你需要知道文件系统的编码,例如使用iconv来翻译它(如你在指出的帖子中所示) –

回答

1

Theoratically您可以阅读

系统的编码0

,你可以将它设置为Ruby脚本以同样的方式:

ENV['LC_LANG']=en_US.UTF-8 

同去的其他编码特定的环境变量。

+0

这真的是理论上的,因为有更多在这之后(用户通常设置LC_ALL,LC_COLLATE和其他东西)。 – lzap