[Eclipse] Mindent UTF-8-ba akarok!

Fórumok

Üdv!

A helyzet a következő, Eclipse 3.4.2-et használok és szeretném, ha az összes projektem összes fájlja UTF-8-ba lenne kódolva. Azok is amelyek már létre vannak hozva és azok is amelyeket újonnan hozok létre. Odáig eljutottam, hogy a
Window > Preferences > General > Workspace > Text file encoding beállítások alatt a Default-ról át tudom állítani a karakter készletet UTF-8-ra. De nekem egy permanens megoldásra van szükségem, tehát minden új workspace-em legyen alapból UTF-8 és a régebbiek is és ne kelljen ezt minden alkalommal állítgatni.

Erre találtam egy olyan megoldást, hogy az eclipse.ini fájlba beleírtam ezt a paramétert: -Dfile.encoding=UTF-8
Most már ha megnyitom az Eclipse-t akkor itt a Default érték mellett UTF-8 jelenik meg.

A gond csak az, hogy ha létrehozok egy új valami.properties fájlt akkor annak a karakterkódolása megint csak ISO-8859-1 lesz..
Ez azért van mert a Window > Preferences -> General -> Content Types -> Java Properties File -> Default encoding beállítások alatt ISO-8859-1 van megadva. Na most ezt át lehet állítgatni kézzel minden fájnál típusnál és lehet Update-olni, de ezt minden új workspace létrehozásakor nem szeretném megejteni. Erre kéne valami megoldás, hogy az összes Contet-Type UTF-8 legyen és az új fájlok is azzal jöjjenek létre.

Valami hasonló paramétert várok mint az eclipse.ini-be írt érték.

Releváns találatok a dologgal kapcsolatban: 1 2 3

Hozzászólások

Nekem úgy tűnt, hogy az oprendszerből átvesz valami default beállításokat. Tehát lehet, hogy oprendszer szinten kezelhető a kérdés. Ubuntun nekem minden UTF-8 alapból.

Ez így igaz, de sajnos a cégen belül sok a gép és mindenkit megkérni, hogy akkor most tolja át az oprendszer karakterkódolását elég bonyolult lenne. Ezt szeretném valahogy felüldefiniálni. Az mégis egyszerűbb, hogy írjátok be ezt a paramétert az eclipse.ini-be. Arról nem is beszélve, hogy más programok milyen oprendszer beállítást kívánnak, szóval lehet több kárt okozna mint hasznot az oprendszer állítgatása.

Nehany fajl tipusnak van alapbol beallitott fajlkodolasa es nem a workspace defaultot hasznaljak (ezek altalaban nem is oprendszer fuggoek, hanem igy vannak Eclipse-ben defaultolva). A properties is ilyen. Csakhogy az definicio szerint ISO-8859-1-ben van kodolva. Nagy szivasoknak lehetsz kis gazdaja, ha mas kodolassal hasznalod (foleg ha nem te toltod be, hanem egy masik program/lib, ami ISO-8859-1-re szamit). Inkabb telepits egy properties editor-t ahol beirhatod az ekezeteket es szepen elkodolva menti bele a properties-be. Alternativ megoldas, hogy hasznald a properties fajl xml formatumat (Java 1.5-tol felfele tamogatott) es akkor lehet UTF-8 (mivel xml, ott az a default).

Meg vmi: az Eclipse 3.4.2 az nagyon regi (3 eves?). Azota 7 kiadas volt. Egy hete jott ki a 3.7 stabil. Javaslom a valtast.

Köszönöm a tanácsokat.

"Nagy szivasoknak lehetsz kis gazdája"

Minden Content-Type-ot átraktam UTF-8-ba azóta teljesen tönkrement az összes *.properties fájlom. Egyik szövegszerkesztő helyesen jeleníti meg a másik helytelenül, teljesen szét van csesződve az egész. Most már ott tartok, hogy győzzem visszacsinálni a dolgot és hagyom a fenébe. Csak a napokban volt egy másik probléma, a Java osztályok sem UTF-8-ba voltak lementve ezért mikor onnan szúrtam be egy értéket SQL-be, rosszul küldte el az adatot. Akkor jött az ötlet, hogy akkor univerzálisan mindent UTF-8-ba... Rossz ötlet volt.

"Alternativ megoldas, hogy hasznald a properties fajl xml formatumat"

Csak, hogy eddig ezt senki nem használta a cégnél, hanem direktbe írtunk a source-ba. Ezzel az a gond, hogy ha van még mellette 3-4 nyelvi property fájlod, akkor a kulcsokat is szépen mindig kézzel bepötyögöd? Mert úgye source-nal mehet a kulcsokra a copy & paste és csak az érték más. Vagy még azt lehet, hogy a kulcsot copy & paste el átrakjuk az értéket meg XML view-el töltjük fel. A gond csak az, hogy már vannak elég terjedelmes property fájlok amit kézzel egyenként átírogatni nem kis munka.

Nem tudom mi lenne a jó megoldás...

szerk: Spring tölti be.

Tudtommal a spring tamogatja az xml alapu properties megadast is. Es akkor jo lesz az UTF-8.

Egyebkent egyetertek az UTF-8 eroltetessel, csak esszel kell csinalni. Eclipse-ben kb. a kovetkezoket szoktam en atallitani/leellenorizni egy uj workspacenel:
General->Workspace->Text File Encoding UTF-8 (ez hatassal van tobbek kozott a Java fajljaidra is)
General->Content Types->JSP UTF-8
Web->CSS/HTML/JSP->Encoding UTF-8

A tobbi marad ahogy van.

Rendben köszönöm.
Igen a Spring-nek meg lehet mondani, hogy mibe várja az adatot, így:

< bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource" >
< property name="basename" >< value >application< /value >< /property >
< property name="defaultEncoding" >< value >UTF-8< /value >
< /bean >

A helyzet az, hogy most az összes Content-Type-ot átraktam UTF-8 és meg mondtan a Spring-nek, hogy a defaultEncoding UTF-8. A Db szerver is teljesen UTF-8-ba van. Meglátjuk mi sül ki belőle... Eddig jónak tűnik.

java-ban a nem xml alapú properties latin-1 -ben van mindenképp. manual