У меня возникают проблемы с выдачей data.frame с использованием write.csv
с использованием кодировки символов UTF-16.
Справочная информация. Я пытаюсь выписать файл CSV из файла data.frame для использования в Excel. Excel Mac 2011, похоже, не нравится UTF-8 (если я укажу UTF-8 во время импорта текста, символы, отличные от ASCII, отображаются как подчеркивания). Мне повезло, что Excel будет довольствоваться кодировкой UTF-16LE.
Вот пример data.frame:
> foo
a b
1 á 羽
> Encoding(levels(foo$a))
[1] "UTF-8"
> Encoding(levels(foo$b))
[1] "UTF-8"
Итак, я попытался вывести data.frame, выполнив:
f <- file("foo.csv", encoding="UTF-16LE")
write.csv(foo, f)
Это дает мне ASCII файл, который выглядит так:
"","
Если я использую encoding="UTF-16"
, я получаю файл, который содержит только знак байта 0xFE 0xFF
.
Если я использую encoding="UTF-16BE"
, я получаю пустой файл.
Это 64-разрядная версия R 2.12.2 на Mac OS X 10.6.6. Что я делаю неправильно?