Sto sviluppando una parte di un'applicazione che è responsabile dell'esportazione di alcuni dati in file CSV. L'applicazione utilizza sempre UTF-8 a causa della sua natura multilingue a tutti i livelli. Ma l'apertura di tali file CSV (contenenti ad esempio diacritici, lettere cirilliche, lettere greche) in Excel non ottiene i risultati attesi mostrando qualcosa come Г"/Г¤, Г-/Г¶
. E non so come forzare Excel a capire che il file CSV aperto è codificato in UTF-8. Ho anche provato a specificare UTF-8 BOM EF BB BF
, ma Excel lo ignora.
C'è qualche soluzione?
P.S. Quali strumenti possono potenzialmente comportarsi come fa Excel?
AGGIORNARE
Devo dire che ho confuso la comunità con la formulazione della domanda. Quando stavo facendo questa domanda, ho chiesto un modo per aprire un file CSV UTF-8 in Excel senza problemi per un utente, in modo fluido e trasparente. Tuttavia, ho usato una formulazione sbagliata chiedendo di farlo automaticamente. Questo è molto confuso e si scontra con l'automazione delle macro VBA. Ci sono due risposte per questa domanda che apprezzo di più: la prima risposta di Alex https://stackoverflow.com/a/6002338/166589, che ho accettato; e la seconda di Mark https://stackoverflow.com/a/6488070/166589 che è apparsa un po' più tardi. Dal punto di vista dell'usabilità, Excel sembrava non avere un buon supporto UTF-8 CSV user-friendly, quindi ritengo che entrambe le risposte siano corrette, e ho accettato la prima risposta di Alex perché ha davvero affermato che Excel non era in grado di farlo in modo trasparente. Questo è ciò che ho confuso con automaticamente qui. La risposta di Mark promuove un modo più complicato per gli utenti più avanzati per ottenere il risultato atteso. Entrambe le risposte sono ottime, ma quella di Alex si adatta alla mia domanda non chiaramente specificata un po' meglio.
AGGIORNAMENTO 2
Cinque mesi dopo l'ultima modifica, ho notato che la risposta di Alex è scomparsa per qualche motivo. Spero davvero che non sia stato un problema tecnico e spero che non ci siano più discussioni su quale risposta sia migliore ora. Quindi accetto la risposta di Mark come la migliore.
Alex è corretto, ma dato che devi esportare in csv, puoi dare agli utenti questo consiglio quando apri i file csv:
In questo modo i caratteri speciali dovrebbero apparire correttamente.