Bakit may kakaibang character ang CSV sa Excel
Ang gulo sa encoding sa likod ng mga sirang accent, at tatlong paraan para ayusin ito.
Binuksan mo ang isang CSV sa Excel at ang mga pangalang tulad ng Müller o José ay may kakaibang simbolo sa halip na mga letrang may accent. Nagiging kumpol ng kakaibang character din ang mga euro sign at apostrophe. Walang problema sa data mo. Mali lang ang character encoding na ginagamit ng Excel sa pagbasa ng file.
Ano ang nangyayari
Ang text file ay mga byte lang, at ang encoding ang patakaran kung paano ginagawang letra ang mga byte. Halos lahat ng modernong system ay nagsusulat ng CSV file sa UTF-8, na kaya ang bawat wika. Ang Excel sa Windows, kapag dinouble-click mo ang isang CSV, ay umaasa pa rin sa lumang regional encoding gaya ng Windows-1252, maliban kung nagsisimula ang file sa maliit na marker na tinatawag na byte order mark, o BOM. Kapag walang BOM, mali ang patakarang ginagamit sa bawat character na labas sa simpleng English, at bawat letrang may accent ay lumalabas bilang dalawa o tatlong basurang character.
Buo pa rin ang data. Buksan ang parehong file sa Google Sheets, Numbers o isang text editor at maayos itong makikita.
Solusyon 1: idagdag ang BOM
Kung tamang UTF-8 ang file at Excel lang ang mali ang pagpapakita, ipadaan ito sa fix encoding tool nang naka-on ang BOM option. Hindi nagbabago ang mga character, pero sinasabi ng marker sa Excel na basahin ito bilang UTF-8, kaya maayos na itong bubukas sa double-click mula noon.
Solusyon 2: i-convert sa totoong Excel file
Walang anumang kalituhan sa encoding ang .xlsx file. Tama ang pagbasa ng CSV to Excel converter sa CSV at nagse-save ito ng workbook na maayos na bumubukas kahit saan. Pinapanatili rin nito ang mga leading zero sa mga postcode at numero ng telepono, na tinatanggal ng Excel kapag direktang binuksan ang CSV.
Solusyon 3: i-import sa halip na i-double-click
Sa Excel, gamitin ang Data, From Text/CSV, at itakda ang File Origin sa 65001: Unicode (UTF-8). Tama na ang pagbasa ng Excel sa file. Gumagana ito, pero kailangan mo itong tandaan tuwing gagawin, kaya mas praktikal ang unang dalawang solusyon para sa mga file na ibinabahagi mo.
Kapag sira na mismo ang file
Minsan, naka-save na sa loob ng file ang mga sirang character. Nangyayari ito kapag may nagbukas ng UTF-8 file sa Excel, nakita ang gulo, at sinave ulit. Ngayon, ang mga basurang character na mismo ang data. Makikita mo ang problema sa bawat program, hindi lang sa Excel. May repair mode ang fix encoding tool para mismo rito: binabaliktad nito ang double encoding at ibinabalik ang orihinal na mga letra. Natutukoy ng automatic mode nito ang ganitong kaso sa karamihan ng file.
Mabilisang diagnosis
| Ang nakikita mo | Malamang na dahilan | Solusyon |
|---|---|---|
| Mali lang sa Excel, maayos sa iba | Walang BOM | Idagdag ang BOM, o i-convert sa .xlsx |
| Mali sa bawat program | Sinave ang file matapos itong mabasa nang mali | Ayusin ang double encoding |
| Mga tandang pananong o kahon | Naka-save ang file sa lumang Windows encoding | I-convert mula Windows-1252 papuntang UTF-8 |
Paano ito maiiwasan
- Kapag nag-e-export mula sa Excel, piliin ang CSV UTF-8 sa halip na simpleng CSV.
- Kapag nag-e-export mula sa ibang system para sa mga gumagamit ng Excel, isama ang BOM kung may ganitong option.
- Huwag kailanman i-save ulit ang CSV na mukhang sira. Ayusin muna ang encoding.