Как я могу получить utf8 символов из File # path - PullRequest
3 голосов
/ 01 сентября 2011

File#path дает мне символы Latin-1 - есть ли способ получить его, чтобы дать мне символы utf8, или я должен просто преобразовать то, что он возвращает? Если так, какой самый лучший / самый простой способ конвертировать?

разработка

Итак, я знаю, что могу сделать это:

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

Но мне интересно, есть ли более элегантный способ File дать мне utf8 для начала.

Это особенно важно, потому что по какой-то причине я получаю другую кодировку в разных системах. На моей машине с OS X похоже, что я вернулся utf8. На моем Linux-сервере латиница-1.

Ответы [ 2 ]

1 голос
/ 28 сентября 2011

См. $ LANG и $ LC_CTYPE (переменные среды).

Эти переменные также определяют значение по умолчанию для кодировки по умолчанию в 1.9, и поэтому изменения, которые вы вносите сегодня, также будут работать, если вы позже перенесете свой код на1.9.

Примечание. Windows - это немного другой зверь в этом отношении, поэтому вам может потребоваться дополнительная информация для решения этой проблемы.

1 голос
/ 25 сентября 2011

Используйте волшебный комментарий в первой строке вашего документа:

#encoding: UTF-8
...