Я пытаюсь сохранить электронную таблицу в виде файла CSV. Файл состоит из корейских символов, и в результате в csv эти символы буквально преобразуются в знаки вопроса (0x3F).
Я работаю в английской версии Windows, но у меня (должны быть) установлены соответствующие кодировки. Кодировка по умолчанию для не-юникодных программ - английская. У меня нет проблем с сохранением файлов в других форматах (например, xls или txt).
Эта проблема возникает и для японских и китайских символов.
Примеры строк, которые я использовал (в отдельных файлах):
안녕하세요
你好
おはよう
Ни один из файлов не экспортируется правильно.
Поддерживает ли Excel азиатские символы при сохранении в формате CSV?
ОБНОВИТЬ
Решили сделать несколько тестов. Вместо того, чтобы пытаться экспортировать из xls в csv, я вместо этого создал вручную csv, который содержит следующие китайские символы: 你好
. Я использую Notepad++ для сохранения файлов. Цель этого состоит в том, чтобы проверить, может ли Excel действительно сохранять файлы CSV с определенными символами должным образом.
Сначала я закодировал файл в UTF8 без спецификации с расширением .csv
. Я открыл файл в Excel, и он отображал символы как ASCII (поэтому неправильно). Выглядит примерно так: ä½ å¥½
). Однако, когда я сохранил файл, символы были сохранены, когда я открыл его в notepad++ в UTF8.
Во-вторых, я создал новую копию тестового файла, но на этот раз в кодировке UTF8 (с спецификацией). Я открыл файл в Excel, и он прочитал файл правильно (как 你好
). Затем я повторно сохранил файл, но на этот раз он преобразовал символы в два знака вопроса.
Мне показалось интересным, что хотя Excel правильно читает файл, он не может правильно его повторно сохранить, но когда он читает его как ASCII, он не пытается преобразовать их, а просто выводит их как есть. Похоже, есть проблема, когда Excel пытается сохранить символы Unicode?
Обходной путь решения
Я сохранил документ как Unicode Text
который создает текстовый файл с разделителями табуляции и в нем сохранились азиатские символы. Должны быть доступны инструменты для преобразования файлов, разделенных табуляцией, в файлы, разделенные запятыми.
Поскольку файл имеет кодировку Юникод, все строки примеров, которые я представил вверху (из трех разных кодировок), отображаются правильно.