[ erno @ 29.12.2008. 10:23 ] @
Pozdrav svima,

imam mali problem sa znakovima i to: imam malu PL/SQL skriptu koja posalje odredjene podatke preko PL/SQL interface-a na Javu. Dalje, Java aplikacija salje ove podatke na web service. cijela aplikacija treba da podrzava njemacke znakove ö, ä,... PL/SQL interface je samo kako samo ime kaze interface izmedju PL/SQL skripti i Java klasa. sve funkcionise perfektno osim kad koristim posebne njemacke znakove tzv. umlaute. kad unesem recimo prezime koje sadrzi ß nakon konverzije PL/SQL objekata u Java objekte dobijem npr. Ge\00FC... ili tako nesto. samim tim na web service saljem pogresno prezime i dobijem pogresan rezultat odnosno gresku. db koristi WE8ISO8859P15. mozel mi neko reci kako da rjesim ovaj problem. da trazim odjredjene kodove unutar stringa i da ih zamjenim odgovarajucim znakom ili postoji bolji nacin? hvala mnogo unaprijed.

pozdrav
erno
[ selector @ 02.01.2009. 08:59 ] @
overi nls_session_parameters, gde verovatno pokazuje nls_language = american a trebalo bi da bude german.
podaci za nls_session parametre oracle uzima od oracle client-a.

pozdrav
[ erno @ 14.01.2009. 11:49 ] @
ma ne sve pase. jos gore je sto i JVM koristi isti encoding: ISO8859-15. ne kontam stvarno. uzeo sam napisao obicnu PL/SQL skriptu koja posalje neki string na Java Stored Procedure i ta JSP vrati nazad taj isti string i ja ga prikazem u PL/SQL - OK. ali ako taj string zelim koristiti u Javi dobijem neke bezze znakove i to samo za odredjene umlaute. nemam pojma koji mu je vrag. recimo sad sam primjetio da samo "ß" i "ä" ne funkcionisu kako treba. kretenizam. pokusao sam promjeniti encoding ni to ne pomaze. nista, moracu te znakove zamjeniti sa ekvivalentima npr ß sa ss ili ä sa ae itd. hvala i pozdrav.
[ Raspucin @ 16.01.2009. 11:37 ] @
Previse posla pa ne stizem da odgovaram, sorry.

Da li mozes malo da pojasnis tacno gde se podaci konvertuju u druge karaktere:

1. Da li su podaci ok u bazi ? Da li u bazi vidis ok podatke ?

2. Da li su podati kada ih procedura izvuce ok ? (napisao si da jesu)

3. Kada se podaci proslede iz PL/SQL procedure u Javu da li su tu podaci ok ? Pretpostavljam da zoves proceduru iz Jave.

4. Da li su podaci ok kada ih prosledis Web Servisu, da li ovde dolazi do konverzije ?


Kako sam ja shvatio, problem je u 3. Ono sto si dobio (npr. \00FC.) je odgovarajuci UTF-8 karakter. Listu UTF ekvivalenata mozes da nadjes ovde:

http://www.utf8-chartable.de/

a kako sve to radi mozes da pogledas ovde, jeste za 9i, ali princip sta se desava je isti:

http://download.oracle.com/doc...1_01/server.920/a96529/ch9.htm

Dolazi ko konverzije karaktera.

Prost primer kako mozes da vidis to sto si dobio je ovako:
Code:

String orginalData = new String("\u00FC");
String encodedData= new String(orginalData .getBytes("UTF8"), "UTF8");
System.out.println(encodedData);

Ovo stampa ü karakter.

Ako ne budes mogao da se snadjes, kontaktiraj me na PP pa mozemo i preko Skype-a da se cujemo.

Pozdrav.