如何从File#path获取utf8字符

时间:2011-09-01 06:36:48

标签: ruby file utf-8 character-encoding

File#path给我拉丁文1个字符 - 是否有办法让它给我utf8字符,或者我应该只转换它返回的内容?如果是这样,转换的最佳/最简单方法是什么?

阐述

所以,我知道我可以这样做:

Iconv.new('UTF-8','LATIN1').iconv(File.basename(file.path))

但我想知道是否有更优雅的方式告诉File给我utf8开头。

这一点尤其重要,因为出于某种原因,我在不同的系统上找回了不同的字符集。在我的OS X开发机上,看起来我回来了utf8。在我的linux服务器上,latin-1。

2 个答案:

答案 0 :(得分:1)

在文档的第一行使用魔术评论:

#encoding: UTF-8

答案 1 :(得分:1)

请参阅$ LANG和$ LC_CTYPE(环境变量)。

这些变量也决定了1.9中编码默认值的默认值,因此如果稍后将代码移植到1.9,今天所做的更改也会有效。

N.B。 Windows在这方面略有不同,所以您可能需要进一步的信息来解决这个问题。