Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Snimanje fajlova u UTF-8 formatu

[es] :: Java :: Snimanje fajlova u UTF-8 formatu

[ Pregleda: 2893 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Tulex
Danguba
Novi Sad

Član broj: 170959
Poruke: 121
91.148.90.*



Profil

icon Snimanje fajlova u UTF-8 formatu06.05.2008. u 12:17 - pre 194 meseci
Znam da je ova tema poprilicno izvakana, ali ovo sto se meni desava nije bas tako trivijalne prirode (ili se to meni samo cini)
Pri snimanju fajla koristim OutputStreamWriter i pri njegovom kreiranju definisem da koristi "UTF-8" encode, zatim upisem jedan najobicniji string, bez nasih karaktera. Sve deluje super. Da bih proverio da li je fajl snimljen u utf-8 formatu otvorim taj fajl u notpad-u, odem na Save As i u zadnjem text polju mi pise ANSI umesto UTF-8.

E sad, ako napravim isti taj fajl, ali u njega unesem neki string sa nasim slovima, onda fajl bude snimljen kao UTF-8.
Nije mi jasno sta se tu desava i zasto nece svaki put da mi snimi fajl kao UTF-8.

Bilo kakav predlog je dobrodosao
 
Odgovor na temu

hyle
Perica Milošević
Belgrade

Član broj: 30030
Poruke: 150
77.247.200.*

Sajt: www.linkedin.com/in/peric..


+4 Profil

icon Re: Snimanje fajlova u UTF-8 formatu06.05.2008. u 12:35 - pre 194 meseci
U tekstualnom fajlu ne postoji header ili nešto slično gde bi eksplicitno bio označen encoding iskorišćen prilikom formiranja fajla. Notepad "zaključuje" da li treba koristiti UTF-8 samo na osnovu sadržaja fajla i zbog toga ti i ne predlaže taj encoding ukoliko svi karakteri u fajlu pripadaju standardnom engleskom alfabetu.

Evo ako imaš vremena pročitaj ovo: http://www.joelonsoftware.com/articles/Unicode.html
 
Odgovor na temu

Tulex
Danguba
Novi Sad

Član broj: 170959
Poruke: 121
91.148.90.*



Profil

icon Re: Snimanje fajlova u UTF-8 formatu06.05.2008. u 12:51 - pre 194 meseci
hyle: hvala ti puno na brzom odgovoru. Sad mi je jasno zasto se to desava. Ja sam forsirao snimanje fajlova u utf-8 zato sto mi neke aplikacije kasnije imaju problema pri citanju tih fajlova ako nije UTF-8 (bar sam do sada tako mislio). Posto je fajl koji ja kreiram ustvari .csv, Excel ga nekad otvori uredno, a nekad kao obican text u jednoj celiji u zavisnosti od formata snimanja. Medjutim izgleda da je problem negde drugde.

Hvala ti jos jednom.
 
Odgovor na temu

Tulex
Danguba
Novi Sad

Član broj: 170959
Poruke: 121
91.148.90.*



Profil

icon Re: Snimanje fajlova u UTF-8 formatu06.05.2008. u 13:45 - pre 194 meseci
Citat:
hyle: U tekstualnom fajlu ne postoji header ili nešto slično gde bi eksplicitno bio označen encoding iskorišćen prilikom formiranja fajla.


Citajuci po forumima zakljucio sam da to i nije bas tacno. Istina je da ne postoji header u obicnom tekstu, ali ako fajl tokom snimanja koristi UTF-8 encoding onda mu se na pocetak dodaju tri bajta "EF BB BF". Te notepad tokom dekodovanja detektuje da je upitanju utf-8. Posto koristim takodje Notepad++ u njemu ima opcija za detektovanje trenutnog encodera kao i konverzija u neki zeljeni. Tako da je moguce konvertovati u UTF-8 i nakon toga ce ga i Notepad (klasican) detektovati kao UTF-8 iako nema ni jedan non-english karakter u samom tekstu. Time se vracam na pocetak mog problema jer mi nije jasno zasto OutputStringWriter ne dodaje te utf-8 bajtove na pocetak mog fajla.

Takodje postoji i UTF-8 plain (ili UTF-8 witout BOM kako negde pise)koji nema te pocetne bajtove i koji nece biti dobro dekodovani u notepad-u, ali pitanje je koji zaista java koristi kad mu se samo kaze "UTF-8", valjda nije plain.
 
Odgovor na temu

[es] :: Java :: Snimanje fajlova u UTF-8 formatu

[ Pregleda: 2893 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.