Zašto CSV u Excelu prikazuje čudne znakove
Zabuna s kodiranjem koja stoji iza iskrivljenih slova s dijakriticima i tri načina da je riješite.
Otvorite CSV u Excelu, a imena poput Müller, José ili Đurđević prikazuju se s čudnim simbolima umjesto slova s dijakriticima. I znakovi eura i apostrofi pretvaraju se u skupine čudnih znakova. S vašim podacima nije ništa loše. Excel čita datoteku s pogrešnim kodiranjem znakova.
Što se zapravo događa
Tekstna datoteka samo je niz bajtova, a kodiranje je pravilo po kojem se bajtovi pretvaraju u slova. Gotovo svaki moderni sustav zapisuje CSV datoteke u UTF-8, koji podržava sve jezike. Excel u Windowsima, kada dvaput kliknete CSV, i dalje pretpostavlja starije regionalno kodiranje, poput Windows-1252 ili, na hrvatskim postavkama, Windows-1250, osim ako datoteka ne počinje malom oznakom koja se zove oznaka redoslijeda bajtova (BOM). Bez BOM-a svaki se znak izvan osnovne engleske abecede dekodira pogrešnim pravilom, pa svako slovo s dijakritikom ispada kao dva ili tri besmislena znaka.
Podaci su netaknuti. Otvorite istu datoteku u Google Sheetsu, Numbersu ili uređivaču teksta i izgledat će ispravno.
1. rješenje: dodajte BOM
Ako je datoteka ispravan UTF-8, a pogrešno je prikazuje samo Excel, provucite je kroz alat za popravak kodiranja s uključenom opcijom BOM. Znakovi se ne mijenjaju, ali oznaka Excelu govori da čita UTF-8, pa se od tada ispravno otvara dvostrukim klikom.
2. rješenje: pretvorite je u pravu Excel datoteku
Datoteka .xlsx nema nikakvu dvosmislenost kodiranja. Pretvarač CSV u Excel ispravno čita CSV i sprema radnu knjigu koja se svugdje pravilno otvara. Čuva i vodeće nule u poštanskim brojevima i telefonskim brojevima, koje Excel uklanja kada izravno otvori CSV.
3. rješenje: uvezite umjesto dvostrukog klika
U Excelu odaberite Data, From Text/CSV i postavite File Origin na 65001: Unicode (UTF-8). Excel tada ispravno čita datoteku. To radi, ali morate se toga sjetiti svaki put, zbog čega su prva dva rješenja praktičnija za datoteke koje dijelite.
Kada je oštećena sama datoteka
Ponekad su iskrivljeni znakovi spremljeni u samu datoteku. To se događa kada netko otvori UTF-8 datoteku u Excelu, vidi nered i ponovno je spremi. Sada su besmisleni znakovi postali podaci. Problem ćete vidjeti u svakom programu, ne samo u Excelu. Alat za popravak kodiranja ima način popravka upravo za to kada je UTF-8 datoteka pogrešno pročitana kao Windows-1252: poništava dvostruko kodiranje i vraća izvorna slova. Njegov automatski način prepoznaje taj slučaj u većini datoteka.
Brza dijagnoza
| Što vidite | Vjerojatan uzrok | Rješenje |
|---|---|---|
| Pogrešno samo u Excelu, drugdje ispravno | Nedostaje BOM | Dodajte BOM ili pretvorite u .xlsx |
| Pogrešno u svakom programu | Datoteka je spremljena nakon pogrešnog čitanja | Popravite dvostruko kodiranje |
| Upitnici ili kvadratići | Datoteka je spremljena u starom Windows kodiranju | Pretvorite iz Windows-1252 u UTF-8 |
Kako to spriječiti
- Kada izvozite iz Excela, odaberite CSV UTF-8 umjesto običnog CSV-a.
- Kada izvozite iz drugih sustava za korisnike Excela, uključite BOM ako ta mogućnost postoji.
- Nikada ponovno ne spremajte CSV koji izgleda iskrivljeno. Najprije popravite kodiranje.