2010-02-26 19 views
5

Używam kodu w tym przykładzie example oraz w funkcji runUpdate(), którą umieszczam w javabean w aplikacji sieciowej w Netbeans 6.8 z Glassfish v3. Wygląda na to, że mam problem z kodowaniem, ponieważ w tabeli pojawiają się znaki zapytania.Kodowanie GlassFish

próbowałem dotąd:

  1. W nbproject-> Private-> private.properties dodać runtime.encoding = UTF-8>
  2. W Project-> Ustawienia-> sources-> Kodowanie UTF -8
  3. w programie files-> netbeans-> itp.> netbeans_conf w netbeans_default_options i dodać -J-DFile.encoding = UTF-8
  4. w projektowego> Właściwości> Build-> compiling-> dodatkowych opcji kompilatora -kodowanie utf-8
  5. W sun-web.xml dodałem <locale-charset-info default-locale="UTF-8"> <locale-charset-map locale="" charset=""/> <parameter-encoding default-charset="UTF-8"/> </locale-charset-info>

Również kiedy używam system.out.print() w panelu wyjściowym glassfish, uzyskuję bełkot. Jestem na ostatnim poziomie szaleństwa, proszę spojrzeć. Dziękuję.

EDIT Również gdy zrobić wymieniając .5 ja dostać GlassFish błąd:

WARNING: WEB0500: default-locale attribute of locale-charset-info element is being ignored 

Odpowiedz

-1

Czy jesteś pewien przeglądarka jest ustawiona na UTF-8. Domyślnie większość przeglądarek nie wyświetla się w formacie UTF. Zacznij od przeglądarki i odtwórz. Czy Twoje źródło danych przechowuje dane w UTF-8? Domyślnie Java jest w UTF-8, więc nie jestem pewien, czy GF jest Twoim prawdziwym problemem.

+0

Dziękuję za odpowiedź. Używam przykładowy kod do wprowadzania danych w tabela w tabelach fusion. Proszę spojrzeć na następujący link http://tables.googlelabs.com/DataSource?dsrcid=136056 Jeśli używam ich ui jest ok (wszystkie wpisy w tabeli z wyjątkiem ostatniego) i jeśli używam api, otrzymuję ostatnia entria z tabeli, która jest uszkodzona. Tak, moja przeglądarka jest w utf-8. I wszystkie źródła mają kodowanie utf-8 –

+0

Bizarre - Naprawdę nienawidziłem pracy z różnymi kodowaniami. Jeśli usuniesz ostatni wiersz, nowy ostatni wiersz zostanie pomieszany? Jeśli nie, to być może twój ostatni wiersz naprawdę nie jest w UTF-8. – TheSteve0

+0

Domyślnie wszystkie współczesne przeglądarki używają domyślnego kodowania UTF-8, jeśli nie zdefiniowano go na stronie, i mam problem z kodowaniem, spowodowany przez Glassfish, nie ma problemu z tomcat, ale w glassfish. –

14

Czy próbowałeś używać glassfish-web.xml zamiast sun-web.xml?

Aby zmienić domyślną GlassFish POST kodowanie pola, kładę to WEB-INF/glassfish-web.xml, i to działało (używam GlassFish 3.1.2):

<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD 
GlassFish Application Server 3.1 Servlet 3.0//EN" 
"http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd"> 
<glassfish-web-app> 
    <parameter-encoding default-charset="UTF-8" /> 
</glassfish-web-app> 

Nie jestem pewien, czy to pomoże, ale może pomagać innym ludziom mającym ten sam problem co ja.