[Java lista] String karakter konverzio

Stef stefhun at gmail.com
2006. Nov. 24., P, 14:14:48 CET


Szia!

Mivel kezdo vagyok, ezert alapveto hibakat ejtek :-(
Felvazolom a teljes kepet:
Adott egy tapestry4-es alkalmazas, mely hibernate-et hasznal, es az
egyik POJO property-jet a tacos autocompleter komponensevel jeleniti
meg.
Ezen komponens egy "forrasa" a kovetkezo lehet: "Object, String[], or
Collection".
En a collection-ra szavaztam.
Atadom a forrast, a komponens megjeleniti azt, majd a felhasznalo ha
elkezd gepeli, akkor az egy kerest kuld, hogy az adott karakterre
milyen ajanlatokat kell megjeleniteni, majd a kapott eredmenyt
megjeleniti, es a felhasznalo vagy tovabb gepel, vagy a listabol
valaszt egy erteket.
Ezen keres soran egy hibat dob a hibernate:
12:38:29,180 ERROR JDBCExceptionReporter:72 - ERROR: character 0xc3a3
of encoding "UTF8" has no equivalent in "WIN1250"
Hiba a helységek listázásánál : could not execute query

Arra gondoltam, hogy a szoveget kellene atkodolni, de ez ertelmetlenne
valik, mivel az unicode formatumu (tenyleg mondtak ezt a tanfolyamon
:-) ). A logbol pedig lehet latni, hogy ket karakter lesz az ekezetes
betukbol, mintha az UTF-8 2 byte-ja lenne az adott string adott
poziciojaban... tudom, ez is ertelmetlen.

Az autocompleter a dojo-t hasznalja, mely olvasatomban a kereseket
UTF-8-ra kodolja.

Arra gyanakszom, hogy a tapestry engine nem jol kodolja vissza az
url-t, es rossz lesz a fuggvenyhivas, hiszen az en kereso fugvenyemet
a tapestry engine hivja meg az adott parameterrel.
Ha jol tudom valami ilyesmi kapcsolat all fennt:
dojo request -> tomcat -> tapestry engine -> my_search()


Udv!
Stef

2006/11/24, bognár attila <attila at netalfa.hu>:
>
>  Szia,
>
>  amit leírtam az alapján az alábbi kódnak semmi értelme.
>
>  az első probléma abban rejlik, hogy amit visszaadsz, az String, annak pedig
> semmi köze az akármilyen kódoláshoz, kivéve a Unicode-ot.
>
>  mit akarsz elérni, miből - mert ez sem tiszta?
>
>  üdv,
>
>  attila
>
>
>  Stef írta:
>  Sziasztok!
>
> Koszonom a sok valaszt, de sajnos nem jutottam eredmenyre.
> Olyan, mintha csak az ekezetes karakter lenne mas kodolasba.
> Eredetileg ezt lattam a logban: "G?¶" - 0xc3a3
> Az atkodolas utan pedig: "G�¶" - 0xefbfbd
> Tehat tovabb kodolta a kodolast :-(
>
> Ezt alkottam a javaslatokbol:
>  private String convertUTFWin1250(String value){
>  byte[] utf8 = null;
>  String win1250 = null;
>  try {
>  utf8 = value.getBytes("UTF-8");
>  win1250 = new String(utf8, "windows-1250");
>  } catch (UnsupportedEncodingException e) {
>  e.printStackTrace();
>  }
>  return win1250;
>  }
>
> Udv!
> Stef
>
> 2006/11/24, Fisha <fisha at freemail.hu>:
>
>
>  Hello!
>
> Szerintem a String.getBytes a baratod.
>
> Fisha mailto:fisha at freemail.hu
>
>
>
>  Sziasztok!
>
>
>  Segitsetek....
> Hogyan lehetseges egy String-et atkonvertalni egyik kodolasrol a
> masikra. Jelen esetben az UTF-8 kodlaprol kellene win1250-re, de csak
> az URLenocder-t, talaltam, ami nem String konverzio, hanem web-app url
> kodolasra valo.
> Pontosabban nem a teljes String-et kellene átkódolni, mert nem minden
> karakter utf8.
> Ezt latom a logban: "H??" Ami valojaban a "Há" lenne.
>
>
>  A JDBC-s hiba uzenetem: 11:02:28,292 ERROR JDBCExceptionReporter:72 -
> ERROR: character 0xc3a3 of encoding "UTF8" has no equivalent in
> "WIN1250"
>
>
>  Esetleg a magyar ekezetes karakterekre sajat konvertert kell irnom,
> ami karakterenkent elemez, es ha kell konvertal?
>
>
>  Udv!
> Stef
> _______________________________________________
> Javalist mailing list
> Javalist at javagrund.hu
> http://javagrund.hu/mailman/listinfo/javalist
>
>  _______________________________________________
> Javalist mailing list
> Javalist at javagrund.hu
> http://javagrund.hu/mailman/listinfo/javalist
>
>
>  _______________________________________________
> Javalist mailing list
> Javalist at javagrund.hu
> http://javagrund.hu/mailman/listinfo/javalist
>
>
> _______________________________________________
> Javalist mailing list
> Javalist at javagrund.hu
> http://javagrund.hu/mailman/listinfo/javalist
>
>
>


További információk a(z) Javalist levelezőlistáról