file.encoding beállítás

Fórumok

Van egy java program, ami mySQL-be dolgozik.
Ha a karakterkészlet mindenhol UTF-8, jól is működik.
Windows alatt viszont Cp1250 lesz, és így már nem tudok ékezetes stringeket beszúrni az adatbázisba.

Ha -Dfile.encoding=UTF-8 paraméterrel indítom, akkor jó lesz. Azt szeretném elérni, hogy ez a paraméter ne kelljen.
Próbálkoztam a

System.setProperty("file.encoding", "UTF-8");

hívással, de ezzel csak azt értem el, hogy a System.getProperty azt adja vissza, amit én szeretnék, de nem működött jól.

Meg lehet ezt valahogy oldani?

Köszönöm.

Hozzászólások

Tipp: JDBC connection string vegere characterEncoding=UTF-8 es esetleg useOldUTF8Behavior=true?
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

A helyedben belenéznék a mySql connector kódjába, hátha megtalálható hogy hogyan állítja be a kódolást. Ha meg nem, akkor átírod és kész.

Ezt a system.setproperty erteket hol allitod be egyebkent a kodban? Az ilyennek az elso par sorban meg kell hivni, a legjobb, ha a main fuggveny nyitasa utan kozvetlen van, mert eleg sokmindenre hatassal van.
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

A system.setProperty-vel elvben felül tudsz írni "környezeti változót" amit a "-D"-vel adtál meg.

Azt tudom elképzelni, hogy azért nem működik, mert a programrész ami használja a file.encoding változó értékét, már kiolvasta mielőtt te átállítottad volna és a régi értéket használja.

"Azt szeretném elérni, hogy ez a paraméter ne kelljen."

Barátságos kis paraméter, miért kell eltüntetni? :)