Csv кодировка mac os
Добрый день!
Работаю на MacBook, экспортирую каталог товаров в excel, делаю изменения, сохраняю (текст с разделителями запятыми .csv), в файле в названиях товаров меняется «кодировка», заменяются буквы. Как можно на Маке экспортировать и импортировать каталог без такой проблемы? Заранее спасибо за ответ!
Добрый день!
Работаю на MacBook, экспортирую каталог товаров в excel, делаю изменения, сохраняю (текст с разделителями запятыми .csv), в файле в названиях товаров меняется «кодировка», заменяются буквы. Как можно на Маке экспортировать и импортировать каталог без такой проблемы? Заранее спасибо за ответ!
postgnome.ru
Через какую программу работаете с csv-файлами?
Кодировку правильную выбираете? корректная кодировка windows-1251
_
Microsoft Excel 2011 для Mac
Попробуйте установить офисный пакет Libre Office для Mac, в программе-аналоге Excel должно работать корректно.
На компах со старым виндоуз работает. На моих двух компах с вин 8 и mac не работает. Криво все, включая буквы. Ваша тех поддержка уже все это смотрела чере удаленный помошник и в чем проблема и как ее исправить не знают. Тут где-то на форуме есть вся эта история.
Попробуйте установить то же программное обеспечение, которое указано выше. Если проблема будет сохранятся, сообщите нам, пожалуйста.
Вот что происходит с файлом, когда работаю через эксель, кодировка стоит Кириллица (Windows):
6216
Попробовала открыть файл через Libre, ничего не меняла, попробовала импортировать файл обратно, ошибка — «Произошла ошибка : Неверная структура файла, строка 1».
Источник
Какая кодировка правильно открывает CSV-файлы с Excel на Mac и Windows?
У нас есть веб-приложение, которое экспортирует CSV-файлы, содержащие иностранные символы с UTF-8, без спецификации. Пользователи Windows и Mac получают символы мусора в Excel. Я попытался преобразовать в UTF-8 С BOM; Excel/Win в порядке с ним, Excel/Mac показывает тарабарщину. Я использую Excel 2003 / Win, Excel 2011 / Mac. Вот все кодировки, которые я пробовал:
лучшим является UTF-16LE с BOM, но CSV не распознается как таковой. Разделитель полей запятая, а точка с запятой не изменяется вещи.
есть ли кодировка, которая работает в обоих мирах?
15 ответов
Кодировки Excel
нашел WINDOWS-1252 кодировка наименее неприятно, общаясь с Excel. Поскольку его в основном Microsofts собственный проприетарный набор символов, можно предположить, что он будет работать как на Mac, так и на Windows версии MS-Excel. Обе версии, по крайней мере, включают соответствующий селектор «источник файла» или «кодировка файла», который правильно считывает данные.
в зависимости от вашей системы и инструментов, которые вы используете, эта кодировка также может быть названа CP1252 , ANSI , Windows (ANSI) , MS-ANSI или просто Windows среди прочих вариаций.
эта кодировка является надмножеством ISO-8859-1 (он же LATIN1 и другие), так что вы можете вернуться к ISO-8859-1 если вы не можете использовать WINDOWS-1252 по какой-то причине. Посоветуйте что ISO-8859-1 отсутствуют некоторые символы из WINDOWS-1252 как показано ниже:
отметим, что знак евро отсутствует. Эту таблицу можно найти по адресу Алан Древесины.
преобразование
преобразование выполняется по-разному в каждом инструменте и языке. Однако предположим, что у вас есть файл query_result.csv что ты знаешь это UTF-8 закодирован. Преобразуйте его в WINDOWS-1252 используя iconv :
для UTF-16LE с BOM если вы используете символы табуляции в качестве разделителей вместо запятых, Excel распознает поля. Причина его работы заключается в том, что Excel фактически использует свой Unicode *.парсер txt.
предостережение: если файл отредактирован в Excel и сохранен, он будет сохранен как ASCII с разделителями табуляции. Проблема в том, что при повторном открытии файла Excel предполагает, что это реальный CSV( с запятыми), видит, что это не Unicode, поэтому анализирует его как разделенный запятыми — и следовательно, сделает хэш из него!
обновление: вышеуказанное предостережение, похоже, не происходит для меня сегодня в Excel 2010 (Windows), по крайней мере, хотя, похоже, есть разница в сохранении поведения, если:
- вы редактируете и выходите из Excel (пытается сохранить как ‘ Unicode *.txt’)
- редактирование и закрывающим тегом просто файлом (работает как положено).
The lowdown is: нет решения. Excel 2011 / Mac не может правильно интерпретировать CSV-файл, содержащий umlauts и диакритические метки, независимо от того, какую кодировку или прыжки обруча вы делаете. Я был бы рад услышать, что кто-то говорит мне другое!
вы только пробовали CSV, разделенные запятыми и точкой с запятой. Если бы вы попробовали CSV, разделенный вкладками (также называемый TSV) , вы бы нашли ответ:
UTF-16LE С BOM (метка порядка байтов), tab-разделены
но: в комментарии вы упоминаете, что TSV не является вариантом для вас (я не смог найти это требование в вашем вопросе). Какая жалость. Это часто означает, что вы разрешить ручное редактирование файлов TSV, что, вероятно, не является хорошей идеей. Визуальная проверка файлов TSV не является проблемой. Кроме того, редакторы могут быть настроены на отображение специального символа для пометки вкладок.
и да, я пробовал это на Windows и Mac.
лучшим обходным путем для чтения CSV-файлов с UTF-8 на Mac является их преобразование в формат XLSX. Я нашел скрипт, сделанный Конрадом Ферстнером, который я немного улучшил, добавив поддержку для разных символов-разделителей.
скачать скрипт с Github https://github.com/brablc/clit/blob/master/csv2xlsx.py. Чтобы запустить его, вам нужно будет установить модуль python openpyxl для обработки файлов Excel: sudo easy_install openpyxl .
вот ключ к импорту CSV в кодировке utf8 в Excel 2011 для Mac: Microsoft говорит: «Excel для Mac в настоящее время не поддерживает UTF-8.»Excel для Mac 2011 и UTF-8
Yay, способ пойти MS!
Мне кажется, что Excel 2011 для Mac OS не использует кодировку.GetEncoding («10000»), как я думал, и потратил 2 дня, но тот же iso, что и на Microsoft OS. Лучшее доказательство этого-сделать файл в Excel 2011 для MAC со специальными символами, сохранить его как CSV, а затем открыть его в текстовом редакторе MAC, и символы будут скремблированы.
для меня этот подход работал-это означает, что экспорт csv в Excel 2011 на MAC OS имеет специальные западноевропейские символы внутри:
UTF-8 без спецификации в настоящее время работает для меня в Excel Mac 2011 14.3.2.
UTF-8 + BOM вид работ, но BOM отображается как тарабарщина.
UTF-16 работает, если вы импортируете файл и завершаете мастер, но не если вы просто дважды щелкните его.
следующее работало для меня в Excel для Mac 2011 и Windows Excel 2002:
используя iconv на Mac, преобразуйте файл в UTF-16 Little-Endian + name it *.txt (the .расширение txt заставляет Excel запускать мастер импорта текста):
iconv -f UTF-8 -t UTF-16LE filename.csv >filename_UTF-16LE.csv.txt
откройте файл в Excel и в Мастере импорта текста выберите:
- Шаг 1: файла: игнорируйте его, не имеет значения, что вы выбираете
- Шаг 2: Выберите правильные значения для разделители и квалификатор текста
- Шаг 3: при необходимости выберите форматы столбцов
PS UTF-16LE, созданный iconv, имеет BOM bytes FF FE в начале.
PPS мой исходный csv-файл был создан на компьютере с Windows 7 в формате UTF-8 (с байтами BOM EF BB BF в начале) и использовал разрывы строк CRLF. Запятая используется в качестве разделителя полей и одинарная кавычка в качестве квалификатора текста. Он содержал буквы ASCII плюс разные латинские буквы с тильдами, умлаутом и т. д., а также кириллицу. Все отображается правильно как в Excel для Win и Mac.
ППС точные версии программного обеспечения:
* Mac OS X 10.6.8
* Excel для Mac 2011 V. 14.1.3
* Windows Server 2003 SP2
* Windows Excel 2002 V. 10.2701.2625
в моем случае это сработало (Mac, Excel 2011, как кириллица, так и латинские символы с чешскими диакритиками):
- кодировка UTF-16LE (просто UTF-16 было недостаточно)
- BOM «\xFF\xFE»
- \t (tab) в качестве разделителя
- не забудьте также кодировать разделитель и CRLFs: -)
- используйте iconv вместо mb_convert_encoding
в моей Mac OS Text Wrangler определил CSV-файл, созданный с помощью Excel, как имеющий «Западную» кодировку.
после некоторого googling я сделал этот небольшой скрипт (я не уверен в доступности Windows, возможно, с Cygwin?):
вместо csv, пытаясь вывести html с расширением XLS и mime-типом» application/excel». Я знаю, что это будет работать в Windows, но не могу говорить за MacOS
Это работает для меня
- откройте файл в BBEdit или TextWrangler*.
- установите файл как Unicode (UTF-16 Little-Endian) (окончания строк могут быть Unix или Windows). Спасите!
- В Excel: Данные > Получить Внешние Данные > Импортировать Текстовый Файл.
теперь ключевой момент, выберите MacIntosh как источник файла (это должен быть первый выбор).
Это использование Excel 2011 (версия 14.4.2)
*есть мало выпадающий список в нижней части окна
решите это с помощью java (UTF-16LE с BOM):
обратите внимание, что CSV-файл должен использовать TAB в качестве разделителя. Вы можете прочитать CSV-файл как в windows, так и в MAC OS X.
в моем случае добавление преамбулы в файл решило мою проблему:
Источник
Какая кодировка правильно открывает CSV-файлы в Excel как на Mac, так и на Windows?
У нас есть веб-приложение, которое экспортирует CSV-файлы, содержащие иностранные символы с UTF-8, без BOM. Пользователей Windows и Mac сделать символы в Excel. Я попробовал конвертировать в UTF-8 с помощью BOM; Excel / Win-это нормально, Excel/Mac показывает тарабарщину. Я использую Excel 2003 / Win, Excel 2011 / Mac. Вот все кодировки, которые я пробовал:
Лучшим является UTF-16LE с BOM, но CSV не распознается как таковой. Разделитель полей-запятая, но точка с запятой не меняется вещи.
Есть ли кодировка, которая работает в обоих мирах?
15 ответов:
Кодировки Excel
Я нашел кодировку WINDOWS-1252 наименее неприятной при работе с Excel. Так как его в основном Microsofts собственный проприетарный набор символов, можно предположить, что он будет работать как на Mac, так и на Windows версии MS-Excel. Обе версии, по крайней мере, включают соответствующий селектор «происхождение файла» или «кодирование файла», который правильно считывает данные.
В зависимости от вашей системы и используемых инструментов, эта кодировка также может быть названа CP1252 , ANSI , Windows (ANSI) , MS-ANSI или Просто Windows , среди прочих вариантов.
Эта кодировка является надмножеством ISO-8859-1 (он же LATIN1 и другие), так что вы можете вернуться к ISO-8859-1 , Если вы не можете использовать WINDOWS-1252 по какой-то причине. Имейте в виду, что ISO-8859-1 не хватает некоторых символов из WINDOWS-1252 , как показано здесь:
Обратите внимание, что знак евроотсутствует . Эту таблицу можно найти по адресу Alan Wood.
Преобразование
Преобразование выполняется по-разному в каждом инструменте и языке. Однако предположим, что вы имейте файл query_result.csv , который, как вы знаете, закодирован UTF-8 . Преобразуйте его в WINDOWS-1252 , используя iconv :
Для UTF-16LE с BOM если вы используете символы табуляции в качестве разделителей вместо запятых Excel распознает поля. Причина, по которой это работает, заключается в том, что Excel фактически использует свой Unicode *.txt парсер.
Примечание : Если файл отредактирован в Excel и сохранен, он будет сохранен как разделенный табуляцией ASCII. Проблема теперь в том, что при повторном открытии файла Excel предполагает, что это настоящий CSV (с запятыми), видит, что это не Юникод, поэтому анализирует его как разделенный запятыми — и, следовательно, сделает гашиш из него!
Update : по крайней мере, в Excel 2010 (Windows) вышеприведенная оговорка не происходит для меня сегодня, хотя, похоже, есть разница в поведении сохранения, если:
- изменения и закройте Excel (пытается сохранить как Юникод *.txt’)
- редактирование и закрытие только файла (работает, как и ожидалось).
Самое низкое: нет никакого решения. Excel 2011 / Mac не может правильно интерпретировать CSV-файл, содержащий умлауты и диакритические знаки, независимо от того, какую кодировку или прыжки с обручами вы делаете. Я был бы рад услышать, что кто-то говорит мне другое!
Вы пробовали только CSV-файлы, разделенные запятыми и точками с запятой. Если бы вы попробовали разделенный вкладками CSV (также называемый TSV) , вы бы нашли ответ:
UTF-16LE с BOM (метка порядка байтов), tab-separated
Но : в комментарии вы упоминаете, что TSV-это не вариант для вас (хотя я не смог найти это требование в вашем вопросе). Какая жалость. Это часто означает, что вы разрешаете ручное редактирование файлов TSV, которые вероятно, это не очень хорошая идея. Визуальная проверка файлов TSV не является проблемой. Кроме того, редакторы могут быть настроены на отображение специального символа для обозначения вкладок.
И да, я попробовал это на Windows и Mac.
Лучшим решением для чтения CSV-файлов с помощью UTF-8 на Mac является их преобразование в формат XLSX. Я нашел сценарий, сделанный Конрадом Ферстнером, который я немного улучшил, добавив поддержку различных символов-разделителей.
Загрузите скрипт с Github https://github.com/brablc/clit/blob/master/csv2xlsx.py . для его запуска вам потребуется установить модуль python openpyxl для работы с файлами Excel: sudo easy_install openpyxl .
Вот решающий аргумент при импорте CSV в кодировке utf8 в Excel 2011 для Mac: Microsoft говорит: «Excel для Mac в настоящее время не поддерживает UTF-8.»Excel для Mac 2011 и UTF-8
Мне кажется, что Excel 2011 для Mac OS не использует кодировку.GetEncoding («10000»), как я и думал, потратил впустую 2 дня с тем же iso, что и на Microsoft OS. Лучшим доказательством этого является создание файла в Excel 2011 для MAC со специальными символами, сохранение его в формате CSV, а затем открытие его в текстовом редакторе MAC, и символы скремблируются.
Для меня этот подход работал-это означает, что экспорт csv в Excel 2011 на MAC OS имеет специальные западноевропейские символы внутри:
UTF-8 без BOM в настоящее время работает для меня в Excel Mac 2011 14.3.2.
UTF-8 + BOM вроде работает, но BOM передается как тарабарщина.
UTF-16 работает, если вы импортируете файл и завершаете работу мастера, но не если вы просто дважды щелкните его.
Следующее работало для меня в Excel для Mac 2011 и Windows Excel 2002:
Используя iconv на Mac, преобразуйте файл в UTF-16 Little-Endian + name it *.txt (the .расширение txt заставляет Excel запустить мастер импорта текста):
iconv -f UTF-8 -t UTF-16LE filename.csv >filename_UTF-16LE.csv.txt
Откройте файл в Excel и в Мастере импорта текста выберите:
- Шаг 1: происхождение файла : игнорируйте его, не имеет значения, что вы выберете
- Шаг 2: Выберите правильные значения для разделители и квалификатор текста Шаг 3: при необходимости выберите форматы столбцов
PS UTF-16LE, созданный iconv, имеет BOM байты FF FE в начале.
PPS мой оригинальный csv-файл был создан на компьютере с Windows 7, в формате UTF-8 (с байтами BOM EF BB BF в начале) и использовал разрывы строк CRLF. В качестве разделителя полей использовалась запятая, а в качестве квалификатора текста-одинарная кавычка. Он содержал буквы ASCII плюс другую латынь буквы с тильдами, умлаутом и т.д., Плюс немного кириллицы. Все правильно отображается как в Excel для Win, так и в Mac.
Точные версии программного обеспечения PPPS:
* Mac OS X 10.6.8
* Excel для Mac 2011 V. 14. 1. 3
* Windows Server 2003 SP2
* Окна Excel 2002 г. в. 10.2701.2625
В моем случае это сработало (Mac, Excel 2011, Как кириллические, так и латинские символы с чешскими диакритиками):
- кодировка UTF-16LE (просто UTF-16 было недостаточно)
- BOM «\xFF\xFE «
- \t (tab) как разделитель
- Не забудьте также закодировать разделитель и CRLFs: -)
- Используйте iconv вместо mb_convert_encoding
На моем Mac OS Text Wrangler идентифицировал CSV-файл, созданный с помощью Excel, как имеющий «Западную» кодировку.
После некоторого гугления я сделал этот небольшой скрипт (я не уверен в доступности Windows, может быть, с Cygwin ?):
Вместо csv, попробуйте вывести html с расширением XLS и mime-типом «application / excel». Я знаю, что это будет работать в Windows, но не могу говорить за MacOS
- Откройте файл в BBEdit или TextWrangler*.
- задайте файл как Unicode (UTF-16 Little-Endian) (окончания строк могут быть Unix или Windows). Спасите!
- В Excel: Данные > Получить Внешние Данные > Импортировать Текстовый Файл.
Теперь ключевой момент, выберите MacIntosh В качестве источника файла (это должен быть первый выбор).
Используется Excel 2011 (версия 14.4.2)
*в нижней части окна есть небольшое выпадающее меню
Решите это с помощью java (UTF-16LE с BOM ):
Обратите внимание, что CSV-файл должен использовать TAB в качестве разделителя. Вы можете прочитать файл CSV как на windows, так и на MAC OS X.
В моем случае добавление преамбулы к файлу решило мою проблему:
Источник