Zašto CSV prikazuje čudne znakove u Excelu
Zabuna oko kodiranja koja stoji iza pokvarenih slova i tri načina da je rešite.
Otvorite CSV u Excelu i imena kao što su Müller ili José pojave se sa čudnim simbolima umesto slova sa dijakritičkim znacima. I znakovi za evro i apostrofi pretvaraju se u grupe čudnih znakova. Sa vašim podacima nije ništa pogrešno. Excel čita fajl sa pogrešnim kodiranjem znakova.
Šta se zapravo dešava
Tekstualni fajl je samo niz bajtova, a kodiranje je pravilo po kom se bajtovi pretvaraju u slova. Gotovo svaki moderan sistem zapisuje CSV fajlove u UTF-8 kodiranju, koje pokriva sve jezike. Excel na Windowsu, kada dvaput kliknete na CSV, i dalje pretpostavlja neko starije regionalno kodiranje kao što je Windows-1252, osim ako fajl ne počinje malom oznakom koja se zove oznaka redosleda bajtova, odnosno BOM. Bez BOM-a, svaki znak van osnovnog engleskog alfabeta dekodira se po pogrešnom pravilu, pa svako slovo sa dijakritičkim znakom izlazi kao dva ili tri besmislena znaka.
Podaci su netaknuti. Otvorite isti fajl u Google Sheets-u, Numbersu ili uređivaču teksta i izgledaće kako treba.
Prvo rešenje: dodajte BOM
Ako je fajl ispravan UTF-8 i samo ga Excel pogrešno prikazuje, propustite ga kroz alat za popravku kodiranja sa uključenom opcijom za BOM. Znakovi ostaju isti, ali oznaka govori Excelu da čita UTF-8, pa se fajl od tada ispravno otvara dvoklikom.
Drugo rešenje: konvertujte u pravi Excel fajl
Fajl .xlsx nema nikakvu nedoumicu oko kodiranja. Konverter CSV u Excel ispravno čita CSV i čuva radnu svesku koja se svuda pravilno otvara. Takođe čuva vodeće nule u poštanskim brojevima i brojevima telefona, koje Excel briše kada direktno otvara CSV.
Treće rešenje: uvezite fajl umesto dvoklika
U Excelu izaberite Data, From Text/CSV i podesite File Origin na 65001: Unicode (UTF-8). Excel tada ispravno čita fajl. Ovo funkcioniše, ali morate da se setite toga svaki put, zbog čega su prva dva rešenja praktičnija za fajlove koje delite.
Kada je oštećen sam fajl
Ponekad su pokvareni znakovi sačuvani u samom fajlu. To se dešava kada neko otvori UTF-8 fajl u Excelu, vidi haos i ponovo ga sačuva. Sada su besmisleni znakovi postali podaci. Problem ćete videti u svakom programu, a ne samo u Excelu. Alat za popravku kodiranja ima režim popravke upravo za ovaj slučaj: poništava dvostruko kodiranje nastalo kada je UTF-8 pročitan kao Windows-1252 i vraća originalna slova. Njegov automatski režim prepoznaje ovaj slučaj u većini fajlova.
Brza dijagnoza
| Šta vidite | Verovatan uzrok | Rešenje |
|---|---|---|
| Pogrešno samo u Excelu, drugde u redu | Nedostaje BOM | Dodajte BOM ili konvertujte u .xlsx |
| Pogrešno u svakom programu | Fajl je sačuvan nakon pogrešnog čitanja | Popravite dvostruko kodiranje |
| Upitnici ili kvadratići | Fajl je sačuvan u starom Windows kodiranju | Konvertujte iz Windows-1252 u UTF-8 |
Kako to sprečiti
- Kada izvozite iz Excela, izaberite CSV UTF-8 umesto običnog CSV formata.
- Kada izvozite iz drugih sistema za korisnike Excela, uključite BOM ako ta opcija postoji.
- Nikada ponovo ne čuvajte CSV koji izgleda pokvareno. Prvo popravite kodiranje.