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
Научитесь считывать ключевую информацию о кандидате или сотруднике за минуту общения. 16, 17, 18 мая с 10:30 до 12:30.
Иероглифы при открытии .csv файла с помощью Excel: решение проблемы
При выгрузке .csv таблицы в Excel у многих пользователей неверно отображаются данные. Вместо кириллических символов в документе вы можете увидеть иероглифы. Выглядит это примерно так:
Проблема возникает потому, что кодировка csv файла отличается от той, которая используется MS Excel по умолчанию. В этой статье мы рассмотрим два варианта быстрого решения этой проблемы.
Вариант №1. В самом Excel
Шаг 1. Откройте MS Excel.
Шаг 2. Перейдите во вкладку «Данные».
Шаг 3. Нажмите «Получить данные», затем из файла, затем «Из текстового/CSV файла».
Шаг 4. В открывшемся окне в правом нижнем углу выберите опцию «Все файлы».
Шаг 5. Найдите в этом окне .csv файл, который нужно исправить. Нажмите «Импорт».
Шаг 6. В открывшемся окне нажмите «Загрузить».
Шаг 7. Готово! Создан новый лист, и данные в нем отображаются корректно.
Вариант №2. С помощью Google Таблиц (Google Sheets)
Шаг 1. Убедитесь, что вы авторизованы в своем аккаунте Google.
Шаг 3. В разделе «Создать таблицу» нажмите «Пустой файл».
Шаг 4. Откроется страница с пустой таблицей. Нажмите «Файл», затем «Импортировать».
Шаг 5. В открывшемся окне нажмите «Загрузка», затем «Выбрать файл на устройстве».
Шаг 6. Найдите в новом окне .csv файл, который нужно исправить. Нажмите «Открыть».
Шаг 7. Нажмите «Импортировать данные».
Шаг 8. Готово! Таблица импортирована, данные изображаются корректно.
Вы можете дальше работать с файлом прямо в Google Таблицах, либо экспортировать файл, чтобы работать с ним в другой программе (например, MS Excel).
Чтобы экспортировать файл, нажмите «Файл», затем «Скачать», затем выберите нужный формат (например Microsoft Excel).
Содержание
- Работа с кодировкой текста
- Способ 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 тоже усложнено тем фактом, что каждый раз при желании сменить данный параметр, вам придется изменять глобальные настройки программы.
Почему появляются Каракули и иероглифы в Excel? У этой проблемы может быть несколько вариантов, соберу большинство решений в этой статье. Ну и заодно напишу, как добавлять и использовать символы-иероглифы в тексте.
Проблема с кодировкой часто возникает в разных программах. Кто выгружает данные из ИТ систем, уверен сталкивался с проблемой смены кодировки. Разберем и другие случаи
Содержание
- Каракули и иероглифы в Excel. Неверная кодировка
- Неверная кодировка при получении данных из внешних источников. Открытие CSV файлов
- Открываем не той программой
- Как добавить символы-иероглифы в тексте?
- Похожие статьи
Каракули и иероглифы в Excel. Неверная кодировка
Если при открытии файла вы видите каракули/иероглифы в Excel, вам может помочь смена кодировки. Пересохраните файл следующим способом:
Нажав «Сохранить как», нажмите на кнопку Сервис и выберите Параметры веб-документа
На вкладке Кодировка выберите Юникод (UTF-8) или Кириллица (Windows)
Пересохраняем файл.
Неверная кодировка при получении данных из внешних источников. Открытие CSV файлов
Если при вставке данных из других файлов или внешних источников получаются каракули/неизвестные символы, тоже рекомендуется уточнить кодировку. Сделать это можно следующим образом:
На ленте управления выберите вкладку Данные, а в разделе Получение внешних данных выберите нужный пункт.
Если вы вставляете обычные данные из файла, т.е. текст или таблицу, выберите Из текста
Укажите файл, из которого забираем данные, после выберите формат данных, а главное в разделе Формат файла выберите Юникод (UTF-8).
Что выбрать с разделителем или фиксированной ширины (шаг 1), а так же следующий шаг (шаг 2) подробно описан в этой статье.
В шаге 3 выбираем «Общий» формат данных.
Открываем не той программой
Так же я рекомендую проверить, какой именно программой вы открываете Excel-файл. Бывает, что книги 2010 формата Excel открываются в Excel 2003 (или более ранние версии) с измененным на иероглифы текстом. Подробнее про форматы Excel здесь.
Точно такая же проблема периодически возникает, если открывать сложные Excel-книги с большим набором данных через альтернативные табличные редакторы, такие как LibreOffice.Calc, Apache OpenOffice и другие.
Как добавить символы-иероглифы в тексте?
«С текстом у меня все в порядке, мне нужно вставить иероглиф/символ в Excel» — скажете вы. Чтобы вставить символ, перейдите на вкладку Вставка и в разделе Символы выберите Символ.
В таблице символов можно найти почти любой символ
Чтобы добавить его в текст, кликните по нему.