I have a Java app which reads CSV files which have been created in Excel (e.g. 2007). Does anyone know what charset MS Excel uses to save these files in?
I would have guessed either:
- windows-1255 (Cp1255)
- ISO-8859-1
- UTF8
but I am unable to decode extended chars (e.g. french accentuated letters) using either of these charset types.
Rick
6,8282 gold badges48 silver badges79 bronze badges
asked Feb 3, 2009 at 19:32
From memory, Excel uses the machine-specific ANSI encoding. So this would be Windows-1252 for a EN-US installation, 1251 for Russian, etc.
answered Oct 1, 2009 at 6:03
devstuffdevstuff
8,2071 gold badge27 silver badges33 bronze badges
3
CSV files could be in any format, depending on what encoding option was specified during the export from Excel: (Save Dialog, Tools Button, Web Options Item, Encoding Tab)
UPDATE: Excel (including Office 2013) doesn’t actually respect the web options selected in the «save as…» dialog, so this is a bug of some sort. I just use OpenOffice Calc now to open my XLSX files and export them as CSV files (edit filter settings, choose UTF-8 encoding).
answered May 17, 2010 at 20:34
TriynkoTriynko
18.6k20 gold badges106 silver badges169 bronze badges
13
Waking up this old thread… We are now in 2017. And still Excel is unable to save a simple spreadsheet into a CSV format while preserving the original encoding … Just amazing.
Luckily Google Docs lives in the right century. The solution for me is just to open the spreadsheet using Google Docs, than download it back down as CSV. The result is a correctly encoded CSV file (with all strings encoded in UTF8).
answered Feb 2, 2017 at 15:21
Albert GodfrindAlbert Godfrind
1,9581 gold badge12 silver badges20 bronze badges
1
I had a similar problem last week. I received a number of CSV files with varying encodings. Before importing into the database I then used the chardet libary to automatically sniff out the correct encoding.
Chardet is a port from Mozillas character detection engine and if the sample size is large enough (one accentuated character will not do) works really well.
answered Feb 3, 2009 at 19:44
pi.pi.
20.9k8 gold badges38 silver badges59 bronze badges
1
Russian Edition
offers CSV
, CSV (Macintosh)
and CSV (DOS)
.
When saving in plain CSV
, it uses windows-1251
.
I just tried to save French word Résumé
along with the Russian text, it saved it in HEX
like 52 3F 73 75 6D 3F
, 3F
being the ASCII
code for question mark
.
When I opened the CSV
file, the word, of course, became unreadable (R?sum?
)
answered Feb 3, 2009 at 19:45
QuassnoiQuassnoi
410k91 gold badges612 silver badges612 bronze badges
1
Excel 2010 saves an UTF-16/UCS-2 TSV file, if you select File > Save As > Unicode Text (.txt)
. It’s (force) suffixed «.txt», which you can change to «.tsv».
If you need CSV, you can then convert the TSV file in a text editor like Notepad++, Ultra Edit, Crimson Editor etc, replacing tabs by semi-colons, commas or the like. Note that e.g. for reading into a DB table, often TSV works fine already (and it is often easier to read manually).
If you need a different code page like UTF-8, use one of the above mentioned editors for converting.
answered Dec 18, 2018 at 9:29
FelixDFelixD
6196 silver badges17 bronze badges
cp1250 is used extensively in Microsoft Office documents, including Word and Excel 2003.
http://en.wikipedia.org/wiki/Windows-1250
A simple way to confirm this would be to:
- Create a spreadsheet with higher order characters, e.g. «Veszprém» in one of the cells;
- Use your favourite scripting language to parse and decode the spreadsheet;
- Look at what your script produces when you print out the decoded data.
Example perl script:
#!perl
use strict;
use Spreadsheet::ParseExcel::Simple;
use Encode qw( decode );
my $file = "my_spreadsheet.xls";
my $xls = Spreadsheet::ParseExcel::Simple->read( $file );
my $sheet = [ $xls->sheets ]->[0];
while ($sheet->has_data) {
my @data = $sheet->next_row;
for my $datum ( @data ) {
print decode( 'cp1250', $datum );
}
}
answered Oct 1, 2009 at 5:47
robbiebowrobbiebow
891 silver badge5 bronze badges
1
While it is true that exporting an excel file that contains special characters to csv can be a pain in the ass, there is however a simple work around: simply copy/paste the cells into a google docs and then save from there.
answered Jun 14, 2012 at 22:18
4
You could use this Visual Studio VB.Net code to get the encoding:
Dim strEncryptionType As String = String.Empty
Dim myStreamRdr As System.IO.StreamReader = New System.IO.StreamReader(myFileName, True)
Dim myString As String = myStreamRdr.ReadToEnd()
strEncryptionType = myStreamRdr.CurrentEncoding.EncodingName
answered Jun 28, 2016 at 14:59
kttiikttii
10713 bronze badges
1
OOXML files like those that come from Excel 2007 are encoded in UTF-8, according to wikipedia. I don’t know about CSV files, but it stands to reason it would use the same format…
answered Feb 3, 2009 at 19:41
rmeadorrmeador
25.4k18 gold badges64 silver badges101 bronze badges
Если при импорте контактов вы видите нечитаемые символы, как на скриншоте, это значит, что кодировка файла не подходит для импорта в Unisender. Файл нужно перекодировать в UTF-8. Далее мы расскажем, как это сделать в Excel.
Переходим на вкладку «Данные», выбираем «Получение внешних данных», а далее — «Из текста».
Открывается мастер импорта текста.
С текущей кодировкой содержимое файла нечитабельное.
В поле «Формат файла» перебираем кодировки, пока не найдём ту, в которой текст отображается правильно. Вариантов много, поэтому можно начать с форматов, которые начинаются со слова «Кириллица». Находим нужный формат, нажимаем «Далее».
Выбираем символы-разделители. В нашем случае это запятая.
Нажимаем «Далее» → «Готово» → «OK».
Так выглядит импортированный текст в Excel.
Теперь нажимаем «Файл» → «Сохранить как».
Вводим название файла, тип файла выбираем CSV, ниже нажимаем «Сервис» → «Параметры веб-документа».
Переходим на вкладку «Кодировка», выбираем «Юникод UTF-8» и нажимаем «OK».
Файл сохранён.
Теперь импортируем его и видим, что текст отображается корректно.
Полезные ссылки
Формат данных для загрузки
Как импортировать контакты
Как импортировать номера телефонов
Что такое отчёт об ошибках при импорте
Проверка контактов
Вы нашли ответ?
Свежие статьи
-
Подкаст
15.04.2023 -
Как определить шрифт по картинке?
14.04.2023 -
Креатив
14.04.2023 -
Как собрать список минус-слов для запуска рекламы?
14.04.2023 -
Репрезентативная выборка в рекламе: что это и как определить
14.04.2023 -
Бликфанг
13.04.2023
Содержание
- Работа с кодировкой текста
- Способ 1: изменение кодировки с помощью Notepad++
- Способ 2: применение Мастера текстов
- Способ 3: сохранение файла в определенной кодировке
- Вопросы и ответы
С потребностью менять кодировку текста часто сталкиваются пользователи, работающие браузерах, текстовых редакторах и процессорах. Тем не менее, и при работе в табличном процессоре Excel такая необходимость тоже может возникнуть, ведь эта программа обрабатывает не только цифры, но и текст. Давайте разберемся, как изменить кодировку в Экселе.
Урок: Кодировка в Microsoft Word
Работа с кодировкой текста
Кодировка текста – эта набор электронных цифровых выражений, которые преобразуются в понятные для пользователя символы. Существует много видов кодировки, у каждого из которых имеются свои правила и язык. Умение программы распознавать конкретный язык и переводить его на понятные для обычного человека знаки (буквы, цифры, другие символы) определяет, сможет ли приложение работать с конкретным текстом или нет. Среди популярных текстовых кодировок следует выделить такие:
- Windows-1251;
- KOI-8;
- ASCII;
- ANSI;
- UKS-2;
- UTF-8 (Юникод).
Последнее наименование является самым распространенным среди кодировок в мире, так как считается своего рода универсальным стандартом.
Чаще всего, программа сама распознаёт кодировку и автоматически переключается на неё, но в отдельных случаях пользователю нужно указать приложению её вид. Только тогда оно сможет корректно работать с кодированными символами.
Наибольшее количество проблем с расшифровкой кодировки у программы Excel встречается при попытке открытия файлов CSV или экспорте файлов txt. Часто, вместо обычных букв при открытии этих файлов через Эксель, мы можем наблюдать непонятные символы, так называемые «кракозябры». В этих случаях пользователю нужно совершить определенные манипуляции для того, чтобы программа начала корректно отображать данные. Существует несколько способов решения данной проблемы.
Способ 1: изменение кодировки с помощью Notepad++
К сожалению, полноценного инструмента, который позволял бы быстро изменять кодировку в любом типе текстов у Эксель нет. Поэтому приходится в этих целях использовать многошаговые решения или прибегать к помощи сторонних приложений. Одним из самых надежных способов является использование текстового редактора Notepad++.
- Запускаем приложение Notepad++. Кликаем по пункту «Файл». Из открывшегося списка выбираем пункт «Открыть». Как альтернативный вариант, можно набрать на клавиатуре сочетание клавиш Ctrl+O.
- Запускается окно открытия файла. Переходим в директорию, где расположен документ, который некорректно отобразился в Экселе. Выделяем его и жмем на кнопку «Открыть» в нижней части окна.
- Файл открывается в окне редактора Notepad++. Внизу окна в правой части строки состояния указана текущая кодировка документа. Так как Excel отображает её некорректно, требуется произвести изменения. Набираем комбинацию клавиш Ctrl+A на клавиатуре, чтобы выделить весь текст. Кликаем по пункту меню «Кодировки». В открывшемся списке выбираем пункт «Преобразовать в UTF-8». Это кодировка Юникода и с ней Эксель работает максимально корректно.
- После этого, чтобы сохранить изменения в файле жмем на кнопку на панели инструментов в виде дискеты. Закрываем Notepad++, нажав на кнопку в виде белого крестика в красном квадрате в верхнем правом углу окна.
- Открываем файл стандартным способом через проводник или с помощью любого другого варианта в программе Excel. Как видим, все символы теперь отображаются корректно.
Несмотря на то, что данный способ основан на использовании стороннего программного обеспечения, он является одним из самых простых вариантов для перекодировки содержимого файлов под Эксель.
Способ 2: применение Мастера текстов
Кроме того, совершить преобразование можно и с помощью встроенных инструментов программы, а именно Мастера текстов. Как ни странно, использование данного инструмента несколько сложнее, чем применение сторонней программы, описанной в предыдущем методе.
- Запускаем программу Excel. Нужно активировать именно само приложение, а не открыть с его помощью документ. То есть, перед вами должен предстать чистый лист. Переходим во вкладку «Данные». Кликаем на кнопку на ленте «Из текста», размещенную в блоке инструментов «Получение внешних данных».
- Открывается окно импорта текстового файла. В нем поддерживается открытие следующих форматов:
- TXT;
- CSV;
- PRN.
Переходим в директорию размещения импортируемого файла, выделяем его и кликаем по кнопке «Импорт».
- Открывается окно Мастера текстов. Как видим, в поле предварительного просмотра символы отображаются некорректно. В поле «Формат файла» раскрываем выпадающий список и меняем в нем кодировку на «Юникод (UTF-8)».
Если данные отображаются все равно некорректно, то пытаемся экспериментировать с применением других кодировок, пока текст в поле для предпросмотра не станет читаемым. После того, как результат удовлетворит вас, жмите на кнопку «Далее».
- Открывается следующее окно Мастера текста. Тут можно изменить знак разделителя, но рекомендуется оставить настройки по умолчанию (знак табуляции). Жмем на кнопку «Далее».
- В последнем окне имеется возможность изменить формат данных столбца:
- Общий;
- Текстовый;
- Дата;
- Пропустить столбец.
Тут настройки следует выставить, учитывая характер обрабатываемого контента. После этого жмем на кнопку «Готово».
- В следующем окне указываем координаты левой верхней ячейки диапазона на листе, куда будут вставлены данные. Это можно сделать, вбив адрес вручную в соответствующее поле или просто выделив нужную ячейку на листе. После того, как координаты добавлены, в поле окна жмем кнопку «OK».
- После этого текст отобразится на листе в нужной нам кодировке. Остается его отформатировать или восстановить структуру таблицы, если это были табличные данные, так как при переформатировании она разрушается.
Способ 3: сохранение файла в определенной кодировке
Бывает и обратная ситуация, когда файл нужно не открыть с корректным отображением данных, а сохранить в установленной кодировке. В Экселе можно выполнить и эту задачу.
- Переходим во вкладку «Файл». Кликаем по пункту «Сохранить как».
- Открывается окно сохранения документа. С помощью интерфейса Проводника определяем директорию, где файл будет храниться. Затем выставляем тип файла, если хотим сохранить книгу в формате отличном от стандартного формата Excel (xlsx). Потом кликаем по параметру «Сервис» и в открывшемся списке выбираем пункт «Параметры веб-документа».
- В открывшемся окне переходим во вкладку «Кодировка». В поле «Сохранить документ как» открываем выпадающий список и устанавливаем из перечня тот тип кодировки, который считаем нужным. После этого жмем на кнопку «OK».
- Возвращаемся в окно «Сохранения документа» и тут жмем на кнопку «Сохранить».
Документ сохранится на жестком диске или съемном носителе в той кодировке, которую вы определили сами. Но нужно учесть, что теперь всегда документы, сохраненные в Excel, будут сохраняться в данной кодировке. Для того, чтобы изменить это, придется опять заходить в окно «Параметры веб-документа» и менять настройки.
Существует и другой путь к изменению настроек кодировки сохраненного текста.
- Находясь во вкладке «Файл», кликаем по пункту «Параметры».
- Открывается окно параметров Эксель. Выбираем подпункт «Дополнительно» из перечня расположенного в левой части окна. Центральную часть окна прокручиваем вниз до блока настроек «Общие». Тут кликаем по кнопке «Параметры веб-страницы».
- Открывается уже знакомое нам окно «Параметры веб-документа», где мы проделываем все те же действия, о которых говорили ранее.
Теперь любой документ, сохраненный в Excel, будет иметь именно ту кодировку, которая была вами установлена.
Как видим, у Эксель нет инструмента, который позволил бы быстро и удобно конвертировать текст из одной кодировки в другую. Мастер текста имеет слишком громоздкий функционал и обладает множеством не нужных для подобной процедуры возможностей. Используя его, вам придется проходить несколько шагов, которые непосредственно на данный процесс не влияют, а служат для других целей. Даже конвертация через сторонний текстовый редактор Notepad++ в этом случае выглядит несколько проще. Сохранение файлов в заданной кодировке в приложении Excel тоже усложнено тем фактом, что каждый раз при желании сменить данный параметр, вам придется изменять глобальные настройки программы.
@egvimar
Истины нет, существуют только версии…
Файл в кодировке utf-8 открывается «кракозябами», как открыть нормально?
-
Вопрос заданболее трёх лет назад
-
1738 просмотров
в excel: вкладка Данные -> Из текста -> открываешь файл -> в выпадающем списке «Формат файла:» выбираешь UTF-8 (он будет почти в самом низу списка)
Пригласить эксперта
-
Показать ещё
Загружается…
16 апр. 2023, в 06:36
1000 руб./за проект
16 апр. 2023, в 05:28
5000 руб./за проект
16 апр. 2023, в 04:52
5000 руб./за проект
Минуточку внимания
Если в таблице вместо нужной информации вы увидели вопросы, иероглифы или другие непонятные знаки, это значит, вам надо разобраться, как поменять кодировку в Excel. Эта функция доступна в самом Microsoft Office. Но избавиться от проблемы можно и другими методами.
Иногда мы получаем непонятные иероглифы
Что такое кодировка?
Компьютер воспринимает любую информацию, как набор цифр. Поэтому у каждого печатного знака есть свой код. Он состоит из чисел и букв латинского алфавита. Символы и соответствующие им числа — это и есть кодировка.
У неё есть несколько стандартов. Например, Koi-8, Unicode, Windows-1251, ASCII. И если файл с текстом сохранён, скажем, в Кои-8, в Excel он будет неправильно отображаться в Юникоде. Так как в этих наборах одним и тем же символам приписаны разные коды.
Как поменять кодировку в программе?
Для работы с таблицей, в которой используется стандарт, не заданный по умолчанию в программе, надо изменить кодировку. Существует несколько способов.
При помощи Notepad
Если в Экселе не получается превратить «кракозябры» в нормальный текст, откройте файл в программе «Notepad++». Она распространяется бесплатно. Настройте там отображение символов, а потом продолжайте работать в Excel.
Откройте файл в программе «Notepad++»
- Создайте резервную копию документа. Или сохраните информацию из него в какой-нибудь другой таблице.
- Запустите Notepad.
- Перейдите в Файл — Открыть (File — Open) и укажите путь к таблице. В поле «Тип файла» поставьте «Все типы» («All types»). Или укажите конкретный формат. Таблицы имеют расширения .cvs, .xls, .xltm, xlam, .xlm. В Нотпаде текст отобразится без сетки. В нём ничего не надо редактировать.
- Справа внизу в строке состояния будет изображён стандарт, используемый сейчас.
- Откройте меню Кодировка (Encoding). Оно находится вверху окна.
- Нажмите «Преобразовать в UTF-8» («Convert to UTF-8»). Документ будет конвертирован в нужный формат. Этот стандарт Excel воспринимает нормально и не станет превращать в бессвязный поток странных символов.
- Теперь выберите, какие знаки необходимо использовать. В том же меню Encoding наведите выпадающий список. Он там один.
- Для русского языка выберите Кириллица — Windows-1251. Если текст, скажем, на арабском или греческом — отметьте соответствующий набор символов. В разных странах используются разные стандарты.
- Программа попросит подтвердить действие.
- Если это не помогло, попробуйте другие кириллические шрифты.
- Сохранять текст надо тоже в экселевском формате.
Откройте файл в utf-8
Через интерфейс программы
Вот как сменить кодировку в Excel, используя встроенные возможности:
- Запустите программу. Не надо открывать заполненный документ. Нужен «чистый» лист.
- Перейдите во вкладку «Данные» в строке меню.
- На панели «Получать внешние данные» нажмите «Из текста».
- В списке «Тип файла» (он находится рядом с кнопкой «Отмена») выберите «Все» или «Любые». Так в окне будут отображаться форматы Excel, а не только .txt.
- Задайте путь к таблице.
- Откроется мастер импорта.
- В поле «Формат» можете выбрать желаемый стандарт.
- В области «Предварительный просмотр» показано, как будет выглядеть текст с отмеченным набором символов. Можете прокручивать список и искать, какая настройка подходит.
- Когда подберёте нужный вариант, нажмите «Готово».
Можно использовать встроенные возможности
Как сохранить файл в определённой кодировке?
Можно сделать так, чтобы в сохранённом вами файле стояла определённая кодировка Excel.
- Нажмите на зелёную кнопку «Файл» (в Office 2007 надо кликнуть на логотип слева вверху).
- Параметры — Дополнительно.
- Прокрутите вниз до раздела «Общие».
- Кнопка «Параметры веб-документа».
- Вкладка «Кодировка».
- В поле «Сохранить документ как» укажите желаемое значение и нажмите «OK».
Ещё можно сделать так:
- Нажмите на «Файл» или логотип офиса.
- Выберите «Сохранить как…».
- Кликните на «Сервис». Там будет тот же самый пункт «Параметры веб-документа».
Как добавить в программы офиса новую кодировку?
Если ни один из стандартов не подошёл для вашего документа, добавьте новые.
- Пуск — Панель управления.
- «Программы и компоненты» или «Удаление программ».
- Нажмите на пункт Office или Excel (в зависимости от того, установлен ли у вас весь пакет продуктов Микрософт Офис или только Эксель).
- Кнопка «Изменить». Она над основной рабочей областью.
- Поставьте маркер в «Добавить или удалить» и кликните «Продолжить».
- Откройте ветку Общие средства — Многоязыковая поддержка.
- Нажмите на чёрную стрелочку рядом с нужным стандартом и включите функцию «Запускать на моём компьютере».
- Кликните «Продолжить» и дождитесь окончания процесса. Будут добавлены новые наборы.
В Excel можно поменять кодировку, если символы отображаются неправильно. Эта функция доступна в инструментарии программы. Но иногда используется сторонний софт.