2015-05-06 10:12:17 +0000 2015-05-06 10:12:17 +0000
26
26

Zmienić domyślne kodowanie w Excelu na UTF-8?

Używam różnych narzędzi do regularnego przygotowywania danych dla sieci. Jeden z etapów wymaga ode mnie otwarcia CSV w Excelu, wprowadzenia zmian i zapisania pliku.

Czy istnieje sposób, aby zmusić Excela do zaakceptowania kodowania UTF-8 i zapisywania plików z tym kodowaniem?

Odpowiedzi (8)

15
15
15
2017-02-15 21:37:25 +0000

Na podobne pytanie odpowiedziałem pod adresem Domyślne kodowanie znaków dla Kreatora tekstu w Excelu? .

Swoją odpowiedź znalazłem pod adresem Zmiana domyślnego typu pochodzenia importu tekstu w Excelu .

  1. W edytorze rejestru przejdź do HKEY\_CURRENT_USER>Software>Microsoft>Office>[wersja Excela tutaj - prawdopodobnie najwyższy numer w tym folderze]>Excel>Options
  2. kliknij prawym przyciskiem myszy i przejdź do Nowy > DWORD
  3. nazwij element DefaultCPG i zapisz
  4. kliknij prawym przyciskiem myszy na DefaultCPG i wybierz opcję Modyfikuj
  5. ustaw podstawę na dziesiętną
  6. wpisz kod, który jest pokazany w kreatorze Excela (dla UTF-8 jest to 65001)
  7. kliknij OK.

Jak mówi Vasille w komentarzu do tego pytania, jeśli twój plik nie jest w rzeczywistości w formacie UTF-8, możesz technicznie chcieć przekonwertować znaki w pliku na kodowanie, które chcesz przed otwarciem w Excelu. Jednak dla moich celów UTF-8 wykonuje wystarczająco dobrą robotę, aby wyświetlać nieuszkodzone znaki.

4
4
4
2015-05-06 10:15:33 +0000

Jednym z łatwych sposobów na zmianę kodowania Excel ANSI na UTF-8 jest otwarcie pliku .csv w notatniku, a następnie wybierz Plik > Zapisz jako. Teraz na dole zobaczysz kodowanie jest ustawione na ANSI zmień je na UTF-8 i zapisz plik jako nowy plik i gotowe.

3
3
3
2019-05-16 20:15:39 +0000

Wygląda na to, że Byte Order Mark jest wymagany przez oprogramowanie Microsoft Office.

  1. Używając Notepad++, przekonwertuj CSV używając menu: Encoding -> Convert to UTF8-BOM.

  2. Używając narzędzia sed Unix, dostępnego w cmder lub Git dla Windows . Zobacz Dodawanie BOM do plików UTF-8 .

  • Przetestowano z programem Excel 2016
  • To właśnie miał na myśli avwtp w swojej odpowiedzi .
2
2
2
2017-01-27 07:57:57 +0000

Trzeba użyć opcji File > Import i zacząć od pustego dokumentu i podać UTF-8

ale to jest dalekie od optymalnego, żeby to było domyślne ustawienie dla wszystkich plików, zresztą nie ma potrzeby obracania plików po Google Drive czy LibreOffice. Domyślne ustawienia są po prostu źle dobrane, a ułomność zmiany tego jest irytująca.

Related

  1. Jak ustawić kodowanie znaków przy otwieraniu Excela ](https://superuser.com/questions/280603/how-to-set-character-encoding-when-opening-excel) ale nie znajduje opcji zmiany domyślnych ustawień tak, aby wszystkie pliki były automatycznie otwierane z UTF-8 zamiast formatu Macintosh w OSX

  2. Jak zmienić domyślną opcję pliku na UTF-8 z dala od opcji pliku Macintosh ](https://apple.stackexchange.com/questions/270534/excel-how-to-change-default-file-option-to-utf-8-away-from-macintosh-file-optio) w Apple.SE.

0
0
0
2015-05-06 21:26:20 +0000

Istnieje dodatek do Excela dostępny tutaj do pracy z plikami CSV Unicode, który powinien ci pomóc.

Oto notatka programisty Jaimona Mathew:

Excel traktuje pliki .csv jako pliki tekstowe i zastąpi wszystkie znaki Unicode znakiem “?” przy normalnym zapisie. Jeśli chcesz zachować znaki Unicode, musiałbyś zapisać plik jako “tekst Unicode (™.txt)”, który jest plikiem z ograniczeniem tabulacji. Ponieważ nie mogłem znaleźć żadnego istniejącego rozwiązania do zachowania znaków Unicode w formacie CSV, pomyślałem, że spróbuję stworzyć dodatek do Excela, który to zrobi.

0
0
0
2015-10-02 11:04:10 +0000

Nie jest to najlepsze rozwiązanie, ale jest to opcja: prześlij swój plik Excel na dysk Google, otwórz go za pomocą Google Tabs i pobierz jako plik csv. To zadziałało dla mnie.

0
0
0
2019-04-29 23:59:02 +0000

Zakładając, że masz dostępną powłokę unixową (Cygwin), dołączam do przodu pliku csv mały 3 znakowy identyfikator unicode (UTF-8) i wtedy czyta się dobrze w Excelu, a co ważniejsze, jest poprawnie przetwarzany jako dane wejściowe za pomocą automatyzacji VB Excel.

UTF-8.txt

EFBBBF edycja heksadecymalna do pliku 3 znakowego.

cat UTF-8.txt plik-używany.csv

0
0
0
2015-05-06 10:44:36 +0000

Rozwiązałem podobny problem wcześniej. Bezskutecznie, ale możesz użyć LibreOffice , który jest UTF-8 w domyślnej wersji.