Файл csv в excel кодировка. Excel в CSV с кодировкой UTF8. Поиск кодировок, доступных в Word

CSV является стандартом де-факто для связи между собой разнородных систем, для передачи и обработки объемных данных с «жесткой», табличной структурой. Во многих скриптовых языках программирования есть встроенные средства разбора и генерации, он хорошо понятен как программистам, так и рядовым пользователям, а проблемы с самими данными в нем хорошо обнаруживаются, как говорится, на глаз.

История этого формата насчитывает не менее 30 лет. Но даже сейчас, в эпоху повального использования XML, для выгрузки и загрузки больших объемов данных по-прежнему используют CSV. И, несмотря на то, что сам формат довольно неплохо описан в RFC, каждый его понимает по-своему.

В этой статье я попробую обобщить существующие знания об этом формате, указать на типичные ошибки, а также проиллюстрировать описанные проблемы на примере кривой реализации импорта-экспорта в Microsoft Office 2007. Также покажу, как обходить эти проблемы (в т.ч. автоматическое преобразование типов Excel-ом в DATETIME и NUMBER) при открытии.csv.

Начнем с того, что форматом CSV на самом деле называют три разных текстовых формата, отличающихся символами-разделителями: собственно сам CSV (comma-separated values — значения, разделенные запятыми), TSV (tab-separated values — значения, разделенные табуляциями) и SCSV (semicolon separated values — значения, разделенные точкой с запятой). В жизни все три могут называться одним CSV, символ-разделитель в лучшем случае выбирается при экспорте или импорте, а чаще его просто «зашивают» внутрь кода. Это создает массу проблем в попытке разобраться.

Как иллюстрацию возьмем казалось бы тривиальную задачу: импортировать в Microsoft Outlook данные из таблицы в Microsoft Excel.

В Microsoft Excel есть средства экспорта в CSV, а в Microsoft Outlook — соответствующие средства импорта. Что могло быть проще — сделал файлик, «скормил» почтовой программе и — дело сделано? Как бы не так.

Создадим в Excel тестовую табличку:

… и попробуем экспортировать ее в три текстовых формата:

Какой вывод мы делаем из этого?.. То, что здесь Microsoft называет «CSV (разделители — запятые)», на самом деле является форматом с разделителями «точка с запятой». Формат у Microsoft — строго Windows-1251. Поэтому, если у вас в Excel есть Unicode-символы, они на выходе в CSV отобразятся в вопросительные знаки. Также то, что переводами строк является всегда пара символов, то, что Microsoft тупо берет в кавычки все, где видит точку с запятой. Также то, что если у вас нет Unicode-символов вообще, то можно сэкономить на объеме файла. Также то, что Unicode поддерживается только UTF-16, а не UTF-8, что было бы сильно логичнее.

Теперь посмотрим, как на это смотрит Outlook. Попробуем импортировать эти файлы из него, указав такие же источники данных. Outlook 2007: Файл -> Импорт и экспорт… -> Импорт из другой программы или файла. Далее выбираем формат данных: «Значения, разделенные запятыми (Windows)» и «Значения, разделенные табуляцией (Windows)».

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

Мы помним, что Microsoft Excel умеет работать с текстовыми файлами, импортировать данные из CSV, но в версии 2007 он делает это очень странно. Например, если просто открыть файл через меню, то он откроется без какого-либо распознавания формата, просто как текстовый файл, целиком помещенный в первую колонку. В случае, если сделать дабл-клик на CSV, Excel получает другую команду и импортирует CSV как надо, не задавая лишних вопросов. Третий вариант — вставка файла на текущий лист. В этом интерфейсе можно настраивать разделители, сразу же смотреть, что получилось. Но одно но: работает это плохо. Например, Excel при этом не понимает закавыченных переводов строк внутри полей.

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

Стандарта CSV как такового, к сожалению, нет, но, между тем, существует т.н. memo. Это RFC 4180 2005-го года, в котором описано все довольно толково. За неимением ничего большего, правильно придерживаться хотя бы RFC. Но для совместимости с Excel следует учесть его собенности.

  • между строками — перевод строки CRLF [на мой взгляд, им не стоило ограничивать двумя байтами, т.е. как CRLF (0×0D, 0×0A), так и CR 0×0D]
  • разделители — запятые, в конце строки не должно быть запятой,
  • в последней строке CRLF не обязателен,
  • первая строка может быть строкой заголовка (никак не помечается при этом)
  • пробелы, окружающие запятую-разделитель, игнорируются.
  • если значение содержит в себе CRLF, CR, LF (символы-разделители строк), двойную кавычку или запятую (символ-разделитель полей), то заключение значения в кавычки обязательно. В противном случае - допустимо.
  • т.е. допустимы переводы строк внутри поля. Но такие значения полей должны быть обязательно закавычены,
  • если внутри закавыченной части встречаются двойные кавычки, то используется специфический квотинг кавычек в CSV — их дублирование.

Вот в нотации ABNF описание формата:

File = record *(CRLF record) header = name *(COMMA name) record = field *(COMMA field) name = field field = (escaped / non-escaped) escaped = DQUOTE *(TEXTDATA / COMMA / CR / LF / 2DQUOTE) DQUOTE non-escaped = *TEXTDATA COMMA = %x2C DQUOTE = %x22 LF = %x0A CRLF = CR LF TEXTDATA = %x20-21 / %x23-2B / %x2D-7E

Также при реализации формата нужно помнить, что поскольку здесь нет указателей на число и тип колонок, поскольку нет требования обязательно размещать заголовок, здесь есть условности, о которых необходимо не забывать:

  • строковое значение из цифр, не заключенное в кавычки может быть воспринято программой как числовое, из-за чего может быть потеряна информация, например, лидирующие нули,
  • количество значений в каждой строке может отличаться и необходимо правильно обрабатывать эту ситуацию. В одних ситуациях нужно предупредить пользователя, в других — создавать дополнительные колонки и заполнять их пустыми значениями. Можно определиться, что количество колонок задается заголовком, а можно добавлять их динамически, по мере импорта CSV,
  • Квотить кавычки через «слэш» не по стандарту, делать так не надо.
  • Поскольку типизации полей нет, нет и требования к ним. Разделители целой и дробной частей в разных странах разные, и это приводит к тому, что один и тот же CSV, сгенрированный приложением, в одном экселе «понимается», в другом — нет. Потому что Microsoft Office ориентируется на региональные настройки Windows, а там может быть что угодно. В России там указано, что разделитель — запятая,
  • Если CSV открывать не через меню «Данные», а напрямую, то Excel лишних вопросов не задает, и делает как ему кажется правильным. Например, поле со значением 1.24 он понимает по умолчанию как «24 января»
  • Эксель убивает ведующие нули и приводит типы даже тогда, когда значение указано в кавычках. Делать так не надо, это ошибка. Но чтобы обойти эту проблему экселя, можно сделать небольшой «хак» — значение начать со знака «равно», после чего поставить в кавычках то, что необходимо передать без изменения формата.
  • У экселя есть спецсимвол «равно», который в CSV рассматривается как идентификатор формулы. То есть, если в CSV встретится =2+3, он сложит два и три и результат впишет в ячейку. По стандарту он это делать не должен.

Пример валидного CSV, который можно использовать для тестов:

Фамилия, Имя, Адрес, Город/штат, индекс, просто строка Иванов,Иван, Ленина 20, Москва, 08075, "1/3" Tyler, John,110 terrace, PA,20121, "1.24" "Петров ""Кул""", Петя,120 Hambling St., NJ,08075, "1,24" Смирнов,Вася,"7452 Street ""Near the Square"" road", York, 91234, "3-01" ,Миша,Ленинград, 00123, "03-01" "Джон ""Черная голова"", Клод",Рок,"", Маями бич,00111, "0000" Сергей,

Точно такой же SCSV:

Фамилия; Имя; Адрес; Город/штат; индекс; просто строка Иванов;Иван; Ленина 20; Москва; 08075;"1/3" Tyler; John;110 terrace; PA; 20121;"1.24" "Петров ""Кул"""; Петя;120 Hambling St.; NJ;08075;"1,24" Смирнов;Вася;"7452 Street ""Near the Square"" road"; York; 91234;"3-01" ;Миша;;Ленинград; 00123;"03-01" "Джон ""Черная голова""; Клод";Рок;""; Маями бич;00111; "0000" Сергей;;

Первый файлик, который реально COMMA-SEPARATED, будучи сохраненным в.csv, Excel-ом не воспринимается вообще.

Второй файлик, который по логике SCSV, экселом воспринимается и выходит вот что:

Ошибки Excel-я при импорте:

  1. Учлись пробелы, окружающие разделители
  2. Последний столбец вообще толком не распознался, несмотря на то, что данные в кавычках. Исключение составляет строка с «Петровым» — там корректно распозналось 1,24.
  3. В поле индекс Excel «опустил» ведущие нули.
  4. в самом правом поле последней строки пробелы перед кавычками перестали указывать на спецсимвол

Если же воспользоваться функционалом импорта (Данные -> Из файла) и обозвать при импорте все поля текстовыми, то будет следующая картина:

С приведением типов сработало, но зато теперь не обрабатываются нормально переводы строк и осталась проблема с ведущими нулями, кавычками и лишними пробелами. Да и пользователям так открывать CSV крайне неудобно.

Есть эффективный способ, как заставить Excel не приводить типы, когда это нам не нужно. Но это будет CSV «специально для Excel». Делается это помещением знака «=» перед кавычками везде, где потенциально может возникнуть проблема с типами. Заодно убираем лишние пробелы.

Фамилия;Имя;Адрес;Город/штат;индекс;просто строка Иванов;Иван;Ленина 20;Москва;="08075";="1/3" Tyler; John;110 terrace;PA;="20121";="1.24" "Петров ""Кул""";Петя;120 Hambling St.;NJ;="08075";="1,24" Смирнов;Вася;"7452 Street ""Near the Square"" road";York;="91234";="3-01" ;Миша;;Ленинград;="00123";="03-01" "Джон ""Черная голова"";Клод";Рок;"";Маями бич;="00111";="0000" Сергей;;

И вот что случаеся, если мы открываем этот файлик в экселе:

Резюмирую.

Чтобы сгенерировать такой CSV, которым можно было бы пользоваться, пользователю нужно дать возможность сделать следующие настройки перед экспортом:

  1. выбрать кодировку . Как правило, важно UTF-8, UTF-16, Windows-1251, KOI8-R. Чаще всего, других вариантов нет. Одна из них должна идти по умолчанию. В случае, если данные содержат символы, не имеющие аналогов в целевой кодировке, нужно предупреждать пользователя, что данные будут битые;
  2. выбрать разделитель между полями . Варианты — табуляция, запятая, точка с запятой. По умолчанию — точка с запятой. Не забыть, что если разделитель вводится в тексте, то будет очень непросто ввести туда табуляцию, это еще и непечатный символ;
  3. выбрать разделитель между строками (CRLF 0×0D 0×0A или CR 0×0D);
  4. выбрать разделитель целой и дробной части для числовых данных (точка или запятая).
  5. выбрать, выводить ли строку заголовка;
  6. выбрать, каким образом осуществлять квотинг спецсимволов (особенно переводов строк и кавычек). В принципе, можно отступиться от стандарта и квотировать их как \n и \", но нужно в этом случае не забыть квотировать сами \n, если они встретятся и не забыть сделать это опцией при экспорте-импорте. Но совместимость пойдет лесом, потому что любой RFC-стандартный парсер конструкцию...,"abc\«",… посчитает за ошибку;
  7. совсем в идеале — поставить галочку «для Excel» и учитывать там те нестандартности, которые внесла Майкрософт . К примеру, заменять значения числовых полей, «похожих на дату», на конструкцию ="<значение поля>«.
  8. определиться, нужно ли оставлять «хвост» из пустых разделителей , если он образуется. Например, из 20 полей только первое содержит данные, а остальные пустые. В итоге, в строке можно либо ставить после первого 19 разделителей, либо не ставить. Для больших объемов данных это может спасти миллисекунды обработки и уменьшить размер файла.

Чтобы построить хороший и удобный импортер CSV, необходимо помнить о следующем:

  1. разбор файла нужно делать по лексемам в соответствии с грамматикой выше или пользоваться хорошо зарекомендовавшими себя готовыми библиотеками (Excel работает иначе, потому с импортом проблема);
  2. предоставлять пользователю возможность выбрать кодировку (топ 4 достаточно);
  3. предоставлять пользователю возможность выбрать разделитель между полями (запятая, табуляция, точка с запятой достаточно);
  4. предоставлять пользователю возможность выбрать разделитель между строками , но кроме вариантов CR и CRLF нужно предусмотреть «CR или CRLF». Это связано с тем, что, например, Excel при экспорте таблицы с переводами строк внутри ячеек экспортирует эти переводы строк как CR, а остальные строки разделяет CRLF. При этом при импорте файла ему все равно, CR там или CRLF;
  5. предоставлять пользователю возможность выбрать разделитель между целой и дробной частей (запятая или точка);
  6. определиться с методом разбора — сначала читаем все в память, потом обрабатываем или обрабатываем строку за строкой. В первом случае может понадобиться больше памяти, во втором случае — ошибка в середине вызовет только частичный импорт, что может вызвать проблемы. Предпочительнее первый вариант.

Рауф Алиев,
заместитель технического директора Mail.Ru Group

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

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

  • Windows-1251;
  • KOI-8;
  • ASCII;
  • ANSI;
  • UKS-2;
  • UTF-8 (Юникод).

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

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

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

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

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


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

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

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


Способ 3: сохранение файла в определенной кодировке

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


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

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

На самом деле, вопрос не столь уж и тривиален, как может показаться на первый взгляд. Формат CSV , как следует из его названия, подразумевает использование в качестве разделителя символ запятой (,) . Однако, многие программы и сервисы допускают использованием и других символов. К таковым можно отнести и MS Excel, особенно если речь идёт о русифицированной его версии. В данной статье я хочу привести решение проблемы с открытием CSV-файла экспорта из Google инструмента для веб-мастеров в MS Excel. Впрочем, тема актуально и для других вариантов.

  • Проблема экспорта поисковых запросов (ПЗ) из Google вебмастер
    • Проблема с кодировкой
    • Разделитель запятая в CSV
    • То, что помогло
  • Подведём итоги

Проблема экспорта ПЗ из Google вебмастер

Многие из нас используют Google инструмент для веб-мастеров только для добавления сайта. Это неправильно, здесь есть масса полезной информации, например список поисковых запросов, по которым пользователи находят и заходят на сайт. Смотрите отчет: Поисковый трафик > Поисковые запросы - предварительно выбрав нужный сайт в списке.

Здесь же есть и экспорта данных в CSV-формате, с возможностью его открытия в Google Таблицы (онлайн аналог Excel) . Ищите кнопку «Загрузить эту таблицу ». К слову, количество отображаемых запросов на странице не влияет на полноту экспортируемых данных.

Проблема в том, что в CSV-файле используется разделитель запятой и кодировка UTF-8. Так что даже в Google Таблицы, вместо кириллицы, вы получите только набор вопросов.

Другими словами, нам нужно изменить кодировку на ANSI. А для открытия файла CSV в Excel заменить и разделитель запятой (,) на символ точки с запятой (;) .

CSV с разделителем запятая в UTF-8

Проблема с кодировкой

Проще всего решить проблему с кодировкой . Для этого вы можете использовать любой текстовый редактор с этой функцией, например Notepad++. Его вы можете скачать бесплатно на официальном сайте: unotepad-plus-plus.org . Далее запускаем редактор и открываем в нём наш CSV-файл, а потом кликаем пункт меню «Кодировки » и меняем на нужную, т.е. пункт «Преобразовать в ANSI ».

У меня на картинке показан обратный процесс: преобразования из ANSI в UTF-8 - но, думаю, вы это и сами заметилии, а принцип тот же.

Разделитель запятая в CSV

Теперь, что касается разделителя запятой . По сути, для Google Таблиц что-то менять не надо. Да и в англоязычной версии MS Excel это может прокатить, проверьте. Тем не менее, если нужна замена, то здесь следует учесть, что просто заменить запятую (,) на символ точки с запятой (;) не получится, т.к. в файле могут быть значения, содержащие этот символ. Они обычно помещены в кавычки. Например:

значение,1,"значение, с запятой",

По идее здесь должна помочь настройка самой операционной системы Windows: Пуск > Панель управления > Язык и региональные стандарты . На вкладке «Форматы» кликаем кнопку «Изменить этот формат… » В открывшемся окне, на вкладке «Числа» замените «Разделитель элементов списка » на нужный, т.е. символ точки с запятой (;) меняем на запятую (,) .

Правда, у меня это не сработало. Да и менять настройки операционной системы, как по мне, дело не благодатное. Тем не менее, я решил указать этот вариант решения проблемы, т.к. на большинстве специализированных форумов ссылаются именно на него.

То, что помогло

Увы, но какой-то дополнительной обработки файлов с расширением.csv в MS Excel я не нашел. Тем не менее, есть возможность обработки, но только в том случае, если сменить расширение файла, например, на.txt . Так что меняем расширение файла и открываем его в Excel.

Появится окно «Мастер текстов (импорт)». Здесь вы можете выбрать формат исходных данных, начальную строку импорта и кодировку файла (нам нужна 1251: Cyrillic) . К слову, почему нужно было менять кодировку, когда её можно выбрать в мастере? Потому, что кодировки UTF-8, по крайней мере у меня, здесь нету. Кликаем кнопку «Далее ».

На следующем шаге мы можем выбрать символ-разделитель, причем несколько. Ставим галочку «запятая » и убираем галочку «знак табуляции ». Здесь же можно выбрать и символ ограничителя строк. Это тот, что используется для значений, в которых присутствуют спецсимволы (двойные кавычки, запятая, точка с запятой, новая строка и т.д.) . Вариант с двойной кавычкой, в моём случае, это то, что надо. Обратите внимание на поле «Образец разбора данных», данные стали таблицей. Кликаем кнопку «Далее ».

На последнем шаге можно указать формат данных столбцов, правда выбор здесь не велик: общий (по умолчанию) , текстовый, дата и пропустить столбец. Последний вариант представляется мне наиболее интересным, т.к. позволяет сразу исключить ненужные столбцы. Просто выберите соответствующий столбец и кликните для него вариант «пропустить столбец ». Кликаем кнопку «Готово ».

Excel сформирует нужную нам таблицу, где мы можем задать нужную ширину столбцов и формат ячеек, но это уже совсем другая история. Отмечу лишь, что есть проблема с распознанием тех же процентов.

Онлайн сервис для нормализации CSV-файлов

Впрочем, все выше изложенные проблемы решает простой онлайн сервис Normalization CSV . Он позволяет менять кодировку и символ разделителя. Правда существует ограничение в 64 000 байтов (сколько это в Кб?) для загружаемого файла, но CSV-файлы обычно весят не очень много, должно хватить. Результат обработки выводится как обычный текстовый файл, его можно сохранить с расширением.csv .

К слову, скрипт преобразовавает значение процентов, например: 95 % - в нужное значение для столбца «проценты» в Excel, т.е. делится на 100 и получаем число с плавающей запяток, например: 0,95 . Если нужны ещё какие-то преобразования: пишите, попробуем доработать.

Ну, а если предложенный онлайн сервис вас не устраивает, вы всегда можете воспользоваться выше приведённой инструкцией.

Подведём итоги

Некоторые онлайн сервисы предоставляют возможность экспорта данных в просто и удобном CSV-формате. Как следует из названия, подразумевает использование в качестве разделителя символ запятой (,) . Однако, многие приложения трактуют этот формат несколько своевольно, что приводит к закономерным проблемам. К тому же сейчас всё более популярна кодировка UTF-8, в то время как Excel или Google Таблицы используют ANSI.

Решить проблему с кодировкой поможет, к примеру, Notepad++, а для того, чтобы разобраться с разделителем, достаточно изменить расширение файла на.txt и воспользоваться мастером текстов в Excel. Впрочем, все эти задачи способен решить бесплатный онлайн сервис Normalization CSV , правда стоит учесть его ограничение на объём загружаемого файла. На этом у меня всё. Спасибо за внимание. Удачи!

в 19:44 Изменить сообщение 16 комментариев

Файлы и документы, созданные на компьютере, всегда имеют свою кодировку. Часто случается так, что при обмене файлами или скачивании их из интернета кодировка, в которой они созданы, не читается нашим компьютером. Причины этому могут быть разные - как отсутствие необходимой кодировки в программе, которой мы хотим открыть файл, так и просто отсутствие некоторых компонентов программы (дополнительного пакета шрифтов, например).

Ниже рассмотрим, как поменять кодировку нечитаемого файла или документа в разных программах.

Изменение кодировки на странице браузера

Для Google Chrome

  1. Выбираем меню «Настройки» → «Инструменты».
  2. Строка «Кодировка» - наводим мышью, и появляется список возможных кодировок в браузере.
  3. Выбираем для русских сайтов «Windows 1251». Если не поможет, пробуем «Автоматически».

Для Opera

  1. Нажимаем «Opera» → «Настройки»
  2. Слева меню «Веб-сайты» → поле 2 «Отображение» → «Настроить шрифты»
  3. В поле «Кодировка» выбираем «Кириллица (Windows 1251)».

Для Firefox

  1. Firefox → Настройки → Содержимое.
  2. Напротив строки «Шрифт по умолчанию» нажимаем кнопку «Дополнительно».
  3. Внизу окна выбираем «Кодировка» &rarr «Кириллица (Windows 1251)».

Изменение кодировки в Word

Рассмотрим процедуру изменения кодировки на примере Word 2010

  1. Открываем документ.
  2. Вкладка «Файл» → «Параметры».
  3. Выбираем строку «Дополнительно». В разделе «Общие» напротив строки «Подтверждать преобразование формата файла при открытии» ставим галочку. Нажимаем ОК.
  4. Далее откроется окно «Преобразование файла». Выбираем «Кодированный текст», жмем ОК.
  5. Далее в открывшемся окне отмечаем «Другая» и выбираем из списка кодировку, которая отобразит необходимый текст. В окне «Образец» можно просмотреть, как отображается текст в той или иной кодировке, выбранной нами.

Если пройденная процедура не помогла отобразить документ, можно попробовать поменять шрифт. Иногда документ может отображаться в виде «квадратиков» или других знаков, если в программе нет соответствующего шрифта.

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

Рассмотрим процедуру изменения кодировки для Excel 93-2004 и 2007:

  1. Открываем нечитаемый документ с помощью программы Notepad++.
  2. Выбираем меню Encoding (Кодировка) → Конвертировать в UTF-8.
  3. Символы не изменятся, изменится только кодировка внизу экрана. Далее выбираем набор символов. Если это русский язык: Encoding → Character sets → Cyrillic → Windows-1251.
  4. Нажимаем "Сохранить". Открываем файл в Excel. Если не читается текст, пробуем повторить шаги 3-4.

Изменение кодировки текста

  1. Открываем файл в стандартном текстовом процессоре Блокнот.
  2. Нажимаем «Сохранить как».
  3. В открывшемся окне сохранения выбираем место, куда хотим сохранить файл, тип документа - текстовый, а также ставим другой тип кодировки.
  4. Сохранить.
  5. Пробуем открыть документ.

Дополнительно читайте статью

ВКонтакте Facebook Одноклассники

С переходом ко все новым версиям Windows острота проблемы существования множества кодировок русского языка почти сошла на нет

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

Урок: Кодировка в Microsoft Word


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

  • Windows-1251;
  • KOI-8;
  • ASCII;
  • ANSI;
  • UKS-2;
  • UTF-8 (Юникод).

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

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

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

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

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


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

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

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

Способ 3: сохранение файла в определенной кодировке

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


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

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