Cambia la codifica predefinita di Excel in UTF-8?


24

Sto usando una varietà di strumenti per preparare regolarmente i dati per il web. Una fase mi richiede di aprire un file CSV in Excel, apportare modifiche e salvare il file.

C'è un modo per forzare Excel ad accettare la codifica UTF-8 e a salvare i suoi file con quella codifica?


1
Per chiarire, vorrei modificare un'impostazione in modo che Excel presuma che un file di input sia UTF-8 per impostazione predefinita. Come menzionato di seguito, LibreOffice / OpenOffice fa questo.
Dizzley,

Se in realtà non hai a che fare con i caratteri Unicode, prenderei in considerazione l'uso di un middleware per convertire tutti i CSV in ASCII e quindi aprire in Excel.
Vassile,

1
Domanda correlata qui ma non esattamente la stessa.
hhh

Risposte:


15

Ho risposto a una domanda simile in Codifica caratteri predefinita per Excel Text Wizard? .

Ho trovato la mia risposta in Modifica del tipo di origine dell'importazione del testo predefinito in Excel .

  1. Nell'editor del registro, vai a HKEY_CURRENT_USER> Software> Microsoft> Office> [Versione Excel qui — probabilmente il numero più alto in questa cartella]> Excel> Opzioni
  2. fai clic con il tasto destro sul lato destro e vai su Nuovo> DWORD
  3. denominare l'elemento DefaultCPG e salvare
  4. fare clic con il tasto destro su DefaultCPG e selezionare Modifica
  5. imposta la base su decimale
  6. inserisci il codice mostrato nella procedura guidata di Excel (per UTF-8, è 65001)
  7. fai clic su OK.

Come dice Vasille nel commento a questa domanda, se il tuo file non è in realtà in formato UTF-8, potresti tecnicamente voler convertire i caratteri all'interno del file nella codifica che desideri prima di aprirlo in Excel. Per i miei scopi, tuttavia, UTF-8 fa abbastanza bene la visualizzazione di caratteri non corrotti.


3
Ci sono dei motivi per non farlo? Perché questo non è il comportamento predefinito di Excel? --- Il mio team si occupa spesso di set di dati contenenti personaggi stranieri e mi chiedo se ci siano motivi per non eseguire questa azione su ciascuna delle nostre macchine.
user1318135,

3
Questo purtroppo non ha funzionato sulla mia macchina. I file si aprono ancora con la codifica predefinita (Win 7, Office 2016).
user1318135,

8
Non funziona anche sul mio, Win 10 Office 2016
Phuah Yee Keat

2
Niente da fare. Excel si comporta in modo stupido come sempre. Ci si aspetterebbe che una funzionalità ovvia come questa sia accessibile tramite una preferenza dell'utente in un software maturo come Excel.
Aaron Bramson,

4

Un modo semplice per modificare la codifica ANSI di Excel in UTF-8 è aprire il file .csv nel blocco note, quindi selezionare File> Salva con nome. Ora in basso vedrai la codifica impostata su ANSI cambiarla in UTF-8 e salvare il file come nuovo file e poi hai finito.


Sperimenterò con questo. Un problema che ho è quello di aprire i file in modo coerente nella codifica corretta, quindi non ottengo i dati in due codifiche in un singolo file di risultati. Quindi diventa difficile da risolvere. Vorrei davvero che Excel mi consentisse un modo migliore per scegliere la codifica del file di input.
Dizzley,


2

È necessario utilizzare l' File > Importopzione e iniziare con un documento vuoto e specificareUTF-8

inserisci qui la descrizione dell'immagine

ma questo è tutt'altro che ottimale per renderlo un'impostazione predefinita per tutti i file, tuttavia non è necessario ruotare i file su Google Drive o LibreOffice. Le impostazioni predefinite sono solo scelte male e la disabilità nel cambiare è irritante.

Relazionato

  1. Come impostare la codifica dei caratteri quando si apre Excel ma non trova l'opzione per modificare i valori predefiniti in modo tale che tutti i file vengano aperti automaticamente con UTF-8 anziché il formato Macintosh in OSX

  2. Come modificare l'opzione del file predefinito in UTF-8 lontano dall'opzione del file Macintosh in Apple.SE.


0

Ho risolto un problema simile prima. Senza successo, ma è possibile utilizzare LibreOffice , che è UTF-8 per impostazione predefinita.


LibreOffice è molto utile per questo. Tuttavia, a volte ho macro VBA da eseguire. Grazie Lluser
Dizzley

0

C'è un componente aggiuntivo di Excel disponibile qui per lavorare con file CSV Unicode che dovrebbe aiutarti.

Ecco la nota dello sviluppatore Jaimon Mathew:

Excel considera i file .csv come file di testo e sostituirà tutti i caratteri Unicode con "?" Quando vengono salvati normalmente. Se si desidera conservare i caratteri Unicode, è necessario salvare il file come "testo Unicode (* .txt)", che è un file delimitato da tabulazioni. Dal momento che non sono riuscito a trovare alcuna soluzione esistente per preservare i caratteri Unicode in formato CSV, ho pensato di provarlo nella creazione di un componente aggiuntivo di Excel per fare proprio questo.

1


0

Non è la soluzione migliore, ma è un'opzione: carica il tuo file Excel su Google Drive, aprilo con le schede di Google e scarica come file CSV. Ha funzionato per me.


5
Questo non risponde alla domanda su come modificare la codifica del documento Excel.
Ramhound,

Naturalmente, quando apri CSV in Excel perdi la formattazione della cella, quindi alcune stringhe di numeri ID vengono convertite in numeri interi.
Dizzley,

0

Supponendo che tu abbia una shell unix disponibile (Cygwin), aggiungo alla parte anteriore del file csv un piccolo ID unicode a 3 caratteri (UTF-8) e poi legge bene in Excel e, cosa più importante, viene correttamente elaborato come input usando VB Excel automazione.

UTF-8.txt

EFBBBF << modifica esadecimale in un file di 3 caratteri.

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


1
(1) Puoi descrivere come / perché funziona? (2) Puoi descrivere esattamente come creare questo UTF-8.txtfile?
Scott,

Suggerisco di usare un editor esadecimale e digitare la sequenza di 3 caratteri. Perché funziona, non ne ho idea. Ho capito questa soluzione prendendo un file csv UTF-8 esistente, rinominandolo in txt, importandolo in Excel (come suggerito in altri thread), salvandolo come CSV con il plugin Unicode (altro thread) e quindi facendo un diff binario dei due file. L'unica differenza era la sequenza iniziale di 3 caratteri.
avwtp,

Vedere questa discussione perché funziona [link] ( stackoverflow.com/questions/6002256/... )
avwtp
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.