Αναπτύσσω ένα μέρος μιας εφαρμογής που είναι υπεύθυνη για την εξαγωγή ορισμένων δεδομένων σε αρχεία CSV. Η εφαρμογή χρησιμοποιεί πάντα UTF-8 λόγω της πολυγλωσσικής της φύσης σε όλα τα επίπεδα. Αλλά το άνοιγμα τέτοιων αρχείων CSV (που περιέχουν π.χ. διακριτικά, κυριλλικά γράμματα, ελληνικά γράμματα) στο Excel δεν επιτυγχάνει τα αναμενόμενα αποτελέσματα εμφανίζοντας κάτι σαν Г"/Г¤, Г-/Г¶
. Και δεν ξέρω πώς να αναγκάσω το Excel να καταλάβει ότι το ανοιχτό αρχείο CSV είναι κωδικοποιημένο σε UTF-8. Προσπάθησα επίσης να καθορίσω UTF-8 BOM EF BB BF
, αλλά το Excel το αγνοεί αυτό.
Υπάρχει κάποια λύση;
Υ.Γ. Ποια εργαλεία μπορεί ενδεχομένως να συμπεριφέρονται όπως το Excel;
ΕΝΗΜΕΡΩΣΗ
Πρέπει να πω ότι έχω μπερδέψει την κοινότητα με τη διατύπωση της ερώτησης. Όταν έθεσα αυτή την ερώτηση, ζητούσα έναν τρόπο για το άνοιγμα ενός αρχείου CSV UTF-8 στο Excel χωρίς προβλήματα για έναν χρήστη, με ρευστό και διαφανή τρόπο. Ωστόσο, χρησιμοποίησα λανθασμένη διατύπωση ζητώντας να γίνει αυτό αυτόματα. Αυτό είναι πολύ συγκεχυμένο και έρχεται σε σύγκρουση με την αυτοματοποίηση των μακροεντολών της VBA. Υπάρχουν δύο απαντήσεις για αυτές τις ερωτήσεις που εκτιμώ περισσότερο: η πρώτη απάντηση του Alex https://stackoverflow.com/a/6002338/166589, την οποία αποδέχτηκα, και η δεύτερη του Mark https://stackoverflow.com/a/6488070/166589 που εμφανίστηκε λίγο αργότερα. Από την άποψη της χρηστικότητας, το Excel φάνηκε να μην έχει μια καλή φιλική προς το χρήστη υποστήριξη UTF-8 CSV, οπότε θεωρώ και τις δύο απαντήσεις σωστές, και αποδέχτηκα την πρώτη απάντηση του Alex'γιατί πραγματικά ανέφερε ότι το Excel δεν ήταν σε θέση να το κάνει αυτό με διαφάνεια. Αυτό είναι που μπέρδεψα με το αυτόματα εδώ. Η απάντηση του Mark'προωθεί έναν πιο περίπλοκο τρόπο για πιο προχωρημένους χρήστες για να επιτύχουν το αναμενόμενο αποτέλεσμα. Και οι δύο απαντήσεις είναι εξαιρετικές, αλλά η απάντηση του Alex'ταιριάζει λίγο καλύτερα στην όχι σαφώς καθορισμένη ερώτησή μου.
ΕΝΗΜΕΡΩΣΗ 2
Πέντε μήνες μετά την τελευταία επεξεργασία, παρατήρησα ότι η απάντηση του Alex έχει εξαφανιστεί για κάποιο λόγο. Ελπίζω πραγματικά να μην ήταν τεχνικό πρόβλημα και ελπίζω να μην υπάρξει άλλη συζήτηση σχετικά με το ποια απάντηση είναι μεγαλύτερη τώρα. Έτσι, δέχομαι την απάντηση του Mark ως την καλύτερη.
Ο Alex είναι σωστός, αλλά καθώς πρέπει να κάνετε εξαγωγή σε csv, μπορείτε να δώσετε στους χρήστες αυτή τη συμβουλή κατά το άνοιγμα των αρχείων csv:
Με αυτόν τον τρόπο οι ειδικοί χαρακτήρες θα πρέπει να εμφανίζονται σωστά.
Έχουμε χρησιμοποιήσει αυτή την λύση:
Πρώτα αποθηκεύστε το φύλλο του Excel ως κείμενο Unicode. Ανοίξτε το αρχείο TXT χρησιμοποιώντας τον Internet explorer και κάντε κλικ στην επιλογή "Αποθήκευση ως" Κωδικοποίηση TXT - επιλέξτε την κατάλληλη κωδικοποίηση, π.χ. για Win Κυριλλικά 1251