Змінити кодування Excel за замовчуванням на UTF-8?


25

Я використовую різноманітні інструменти для регулярної підготовки даних для Інтернету. Один етап вимагає від мене відкрити CSV в Excel, внести зміни та зберегти файл.

Чи є спосіб змусити Excel прийняти кодування UTF-8 та зберегти його файли за допомогою цього кодування?


1
Для уточнення, я хотів би змінити налаштування, щоб Excel припускав, що вхідний файл є типовим UTF-8. Як було сказано нижче, LibreOffice / OpenOffice робить це.
Дізлі

Якщо у вас фактично немає символів Unicode, я б подумав використовувати проміжне програмне забезпечення для перетворення всіх CSV-файлів у ASCII, а потім відкрити в Excel.
Василь

1
Відносяться питання тут , але не зовсім те ж саме.
hhh

Відповіді:


15

Я відповів на подібне запитання в кодуванні символів за замовчуванням для майстра тексту Excel? .

Я знайшов свою відповідь у зміні типу початкового імпорту тексту в Excel .

  1. У редакторі реєстру перейдіть до HKEY_CURRENT_USER> Програмне забезпечення> Microsoft> Office> [Версія Excel тут - ймовірно, найбільше число в цій папці]> Excel> Параметри
  2. клацніть правою кнопкою миші праворуч та перейдіть до пункту Створити> DWORD
  3. назвіть елемент за замовчуваннямCPG та збережіть
  4. клацніть правою кнопкою миші за замовчуваннямCPG та виберіть Змінити
  5. встановити основу на десяткові
  6. введіть код, показаний у майстрі Excel (для UTF-8 це 65001)
  7. натисніть кнопку ОК.

Як каже у коментарі до цього питання Василь, якщо ваш файл насправді не у форматі UTF-8, ви можете технічно захотіти перетворити символи у файлі в потрібне кодування перед відкриттям у Excel. Однак, для моїх цілей, UTF-8 виконує досить гарну роботу із відображенням непошкоджених символів.


3
Чи є причини, щоб цього не зробити? Чому це не поведінка Excel за замовчуванням? --- Моя команда часто займається наборами даних, що містять іноземні символи, і мені цікаво, чи є причина, щоб не виконувати цю дію на кожній з наших машин.
user1318135

3
На жаль, це не спрацювало на моїй машині. Файли все ще відкриваються з кодуванням за замовчуванням (Win 7, Office 2016).
user1318135

8
Також не працює на моєму, Win 10 Office 2016
Phuah Yee Keat

2
Без кісток. Excel поводиться так само дурно, як ніколи. Можна очікувати, що така очевидна функція може бути доступною через налаштування користувача у програмному забезпеченні, такому ж зрілому, як Excel.
Аарон Брамсон

4

Один з простих способів змінити кодування Excel ANSI на UTF-8 - це відкрити .csv файл у блокноті, а потім вибрати Файл> Зберегти як. Тепер у нижній частині ви побачите кодування, встановлене на ANSI, змініть його на UTF-8 і збережіть файл як новий файл, а потім готовий.


Я буду експериментувати з цим. Одна з проблем, що я маю - це відкриття файлів послідовно у правильному кодуванні, тому я не отримую даних у двох кодуваннях в одному файлі результатів. Тоді стає важко виправити. Я дуже хочу, щоб Excel дозволив мені кращий спосіб вибору кодування вхідних файлів.
Дізлі

3

Схоже, марка порядку байтів потрібна програмним забезпеченням Microsoft Office.

  1. За допомогою Notepad ++ конвертуйте CSV за допомогою меню: Кодування -> Перетворити в UTF8-BOM.

  2. Використовуючи sedутиліту Unix, доступну в cmder або Git для Windows . Див. Розділ Додавання BOM до файлів UTF-8 .

    sed -i '1s/^/\xef\xbb\xbf/' file.csv
    

  • Тестовано з Excel 2016
  • Це означав avwtp у своїй відповіді .

2

Потрібно скористатися File > Importпараметром і почати з порожнього документа та вказатиUTF-8

введіть тут опис зображення

але це далеко не оптимально, щоб зробити це налаштуванням за замовчуванням для всіх файлів, все одно не потрібно обертати файли навколо Диска Google або LibreOffice. Значення за замовчуванням просто погано вибране, і нездатність змінити це дратує.

Пов'язані

  1. Як встановити кодування символів під час відкриття Excel, але не знаходить можливості зміни типових параметрів таким чином, щоб усі файли автоматично відкривалися у форматі UTF-8 замість Macintosh у OSX

  2. Як змінити параметр файлу за замовчуванням на UTF-8 від параметра файлу Macintosh в Apple.SE.


0

Я раніше вирішував подібну проблему. Невдало, але ви можете використовувати LibreOffice , який за замовчуванням є UTF-8.


LibreOffice дуже зручна для цього. Однак іноді у мене є макроси VBA для запуску. Дякую Lluser
Dizzley

0

Там в Excel надбудови доступний тут для роботи з файлами Unicode CSV , які повинні допомогти вам.

Ось примітка розробника Джеймона Метью:

Excel розглядає .csv файли як текстові файли та замінить усі символи Unicode на "?", Коли вони нормально зберігаються. Якщо ви хочете зберегти символи Unicode, вам потрібно буде зберегти файл як "Текст Unicode (* .txt)", що є файлом з обмеженими вкладками. Оскільки я не зміг знайти жодного існуючого рішення для збереження символів Unicode у форматі CSV, я подумав, що я підкажу це створення Excel Addin, щоб зробити саме це.

1


0

Це не найкраще рішення, але це варіант: завантажте файл Excel на диск Google, відкрийте його за допомогою Google Tabs і завантажте як файл csv. Це працювало для мене.


5
Це не відповідає на питання, як змінити кодування документа Excel.
Рамхаунд

Звичайно, коли ви відкриваєте CSV в Excel, ви втрачаєте форматування комірок, тому деякі рядки числового ідентифікатора перетворюються на цілі числа.
Дізлі

0

Припускаючи, що у вас є оболонка unix (Cygwin), я додаю на передню частину файлу csv невеликий 3-разовий ідентифікатор unicode (UTF-8), після чого він добре читається в Excel і, що ще важливіше, він належним чином обробляється як вхід за допомогою VB Excel автоматизація.

UTF-8.txt

EFBBBF << шістнадцятковий редагувати у файл із 3 знаками.

cat UTF-8.txt file-to-use.csv> new_file.csv


1
(1) Чи можете ви описати, як / чому це працює? (2) Чи можете ви точно описати , як створити цей UTF-8.txtфайл?
Скотт

Я пропоную скористатися шестигранним редактором і набрати в послідовності 3 символів. Чому це працює, ідеї немає. Я розібрався в цьому рішенні, взявши існуючий файл CSV UTF-8, перейменувавши його в txt, імпортувавши його в Excel (як це пропонується в інших потоках), зберігаючи його як CSV за допомогою плагіна Unicode (інший потік), а потім виконуючи двійковий розбір двох файлів. Єдина відмінність полягала в 3-х символьній початковій послідовності.
avwtp

Дивіться цю гілку , чому він працює [посилання] ( stackoverflow.com/questions/6002256 / ... )
avwtp
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.