Меню Рубрики

Excel кодировка mac os

Какая кодировка правильно открывает 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. Я нашел скрипт, сделанный Конрадом Ферстнером, который я немного улучшил, добавив поддержку для разных символов-разделителей.

Читайте также:  Ntfs как сделать чтобы mac os видел

скачать скрипт с 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

Это работает для меня

  1. откройте файл в BBEdit или TextWrangler*.
  2. установите файл как Unicode (UTF-16 Little-Endian) (окончания строк могут быть Unix или Windows). Спасите!
  3. В Excel: Данные > Получить Внешние Данные > Импортировать Текстовый Файл.

теперь ключевой момент, выберите MacIntosh как источник файла (это должен быть первый выбор).

Это использование Excel 2011 (версия 14.4.2)

*есть мало выпадающий список в нижней части окна

решите это с помощью java (UTF-16LE с BOM):

обратите внимание, что CSV-файл должен использовать TAB в качестве разделителя. Вы можете прочитать CSV-файл как в windows, так и в MAC OS X.

Читайте также:  Как изменить дату создания файла mac os

в моем случае добавление преамбулы в файл решило мою проблему:

Источник

Изменение кодировки в Microsoft Excel

С потребностью менять кодировку текста часто сталкиваются пользователи, работающие браузерах, текстовых редакторах и процессорах. Тем не менее, и при работе в табличном процессоре Excel такая необходимость тоже может возникнуть, ведь эта программа обрабатывает не только цифры, но и текст. Давайте разберемся, как изменить кодировку в Экселе.

Работа с кодировкой текста

Кодировка текста – эта набор электронных цифровых выражений, которые преобразуются в понятные для пользователя символы. Существует много видов кодировки, у каждого из которых имеются свои правила и язык. Умение программы распознавать конкретный язык и переводить его на понятные для обычного человека знаки (буквы, цифры, другие символы) определяет, сможет ли приложение работать с конкретным текстом или нет. Среди популярных текстовых кодировок следует выделить такие:

Последнее наименование является самым распространенным среди кодировок в мире, так как считается своего рода универсальным стандартом.

Чаще всего, программа сама распознаёт кодировку и автоматически переключается на неё, но в отдельных случаях пользователю нужно указать приложению её вид. Только тогда оно сможет корректно работать с кодированными символами.

Наибольшее количество проблем с расшифровкой кодировки у программы Excel встречается при попытке открытия файлов CSV или экспорте файлов txt. Часто, вместо обычных букв при открытии этих файлов через Эксель, мы можем наблюдать непонятные символы, так называемые «кракозябры». В этих случаях пользователю нужно совершить определенные манипуляции для того, чтобы программа начала корректно отображать данные. Существует несколько способов решения данной проблемы.

Способ 1: изменение кодировки с помощью Notepad++

К сожалению, полноценного инструмента, который позволял бы быстро изменять кодировку в любом типе текстов у Эксель нет. Поэтому приходится в этих целях использовать многошаговые решения или прибегать к помощи сторонних приложений. Одним из самых надежных способов является использование текстового редактора Notepad++.

    Запускаем приложение Notepad++. Кликаем по пункту «Файл». Из открывшегося списка выбираем пункт «Открыть». Как альтернативный вариант, можно набрать на клавиатуре сочетание клавиш Ctrl+O.

Запускается окно открытия файла. Переходим в директорию, где расположен документ, который некорректно отобразился в Экселе. Выделяем его и жмем на кнопку «Открыть» в нижней части окна.

После этого, чтобы сохранить изменения в файле жмем на кнопку на панели инструментов в виде дискеты. Закрываем Notepad++, нажав на кнопку в виде белого крестика в красном квадрате в верхнем правом углу окна.

  • Открываем файл стандартным способом через проводник или с помощью любого другого варианта в программе Excel. Как видим, все символы теперь отображаются корректно.
  • Несмотря на то, что данный способ основан на использовании стороннего программного обеспечения, он является одним из самых простых вариантов для перекодировки содержимого файлов под Эксель.

    Способ 2: применение Мастера текстов

    Кроме того, совершить преобразование можно и с помощью встроенных инструментов программы, а именно Мастера текстов. Как ни странно, использование данного инструмента несколько сложнее, чем применение сторонней программы, описанной в предыдущем методе.

      Запускаем программу Excel. Нужно активировать именно само приложение, а не открыть с его помощью документ. То есть, перед вами должен предстать чистый лист. Переходим во вкладку «Данные». Кликаем на кнопку на ленте «Из текста», размещенную в блоке инструментов «Получение внешних данных».

  • Открывается окно импорта текстового файла. В нем поддерживается открытие следующих форматов:
    • TXT;
    • CSV;
    • PRN.

    Переходим в директорию размещения импортируемого файла, выделяем его и кликаем по кнопке «Импорт».

    Открывается окно Мастера текстов. Как видим, в поле предварительного просмотра символы отображаются некорректно. В поле «Формат файла» раскрываем выпадающий список и меняем в нем кодировку на «Юникод (UTF-8)».

    Если данные отображаются все равно некорректно, то пытаемся экспериментировать с применением других кодировок, пока текст в поле для предпросмотра не станет читаемым. После того, как результат удовлетворит вас, жмите на кнопку «Далее».

    Открывается следующее окно Мастера текста. Тут можно изменить знак разделителя, но рекомендуется оставить настройки по умолчанию (знак табуляции). Жмем на кнопку «Далее».

  • В последнем окне имеется возможность изменить формат данных столбца:
    • Общий;
    • Текстовый;
    • Дата;
    • Пропустить столбец.
    Читайте также:  Apple music mac os

    Тут настройки следует выставить, учитывая характер обрабатываемого контента. После этого жмем на кнопку «Готово».

    В следующем окне указываем координаты левой верхней ячейки диапазона на листе, куда будут вставлены данные. Это можно сделать, вбив адрес вручную в соответствующее поле или просто выделив нужную ячейку на листе. После того, как координаты добавлены, в поле окна жмем кнопку «OK».

  • После этого текст отобразится на листе в нужной нам кодировке. Остается его отформатировать или восстановить структуру таблицы, если это были табличные данные, так как при переформатировании она разрушается.
  • Способ 3: сохранение файла в определенной кодировке

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

      Переходим во вкладку «Файл». Кликаем по пункту «Сохранить как».

    Открывается окно сохранения документа. С помощью интерфейса Проводника определяем директорию, где файл будет храниться. Затем выставляем тип файла, если хотим сохранить книгу в формате отличном от стандартного формата Excel (xlsx). Потом кликаем по параметру «Сервис» и в открывшемся списке выбираем пункт «Параметры веб-документа».

    В открывшемся окне переходим во вкладку «Кодировка». В поле «Сохранить документ как» открываем выпадающий список и устанавливаем из перечня тот тип кодировки, который считаем нужным. После этого жмем на кнопку «OK».

  • Возвращаемся в окно «Сохранения документа» и тут жмем на кнопку «Сохранить».
  • Документ сохранится на жестком диске или съемном носителе в той кодировке, которую вы определили сами. Но нужно учесть, что теперь всегда документы, сохраненные в Excel, будут сохраняться в данной кодировке. Для того, чтобы изменить это, придется опять заходить в окно «Параметры веб-документа» и менять настройки.

    Существует и другой путь к изменению настроек кодировки сохраненного текста.

      Находясь во вкладке «Файл», кликаем по пункту «Параметры».

    Открывается окно параметров Эксель. Выбираем подпункт «Дополнительно» из перечня расположенного в левой части окна. Центральную часть окна прокручиваем вниз до блока настроек «Общие». Тут кликаем по кнопке «Параметры веб-страницы».

    Открывается уже знакомое нам окно «Параметры веб-документа», где мы проделываем все те же действия, о которых говорили ранее.

    Теперь любой документ, сохраненный в Excel, будет иметь именно ту кодировку, которая была вами установлена.

    Как видим, у Эксель нет инструмента, который позволил бы быстро и удобно конвертировать текст из одной кодировки в другую. Мастер текста имеет слишком громоздкий функционал и обладает множеством не нужных для подобной процедуры возможностей. Используя его, вам придется проходить несколько шагов, которые непосредственно на данный процесс не влияют, а служат для других целей. Даже конвертация через сторонний текстовый редактор Notepad++ в этом случае выглядит несколько проще. Сохранение файлов в заданной кодировке в приложении Excel тоже усложнено тем фактом, что каждый раз при желании сменить данный параметр, вам придется изменять глобальные настройки программы.

    Источник

    Adblock
    detector