Java 7 w akcjiJava 7 in action Wreszcie znalazłem wolną chwilę by wypróbować w praktyce nowe ficzery Java 7. Zabawy z wersją beta najnowszego jdk ułatwia NetBeans IDE 7.0 Beta 2. Do testów na pierwszy ogień poszły usprawnienia...

Readmore

Monitoring podstawowych parametrów JVM z poziomu web... Problem Monitoring podstawowych parametrów JVM z poziomu web aplikacji - przydatne zwłaszcza wtedy, gdy nasz serwer aplikacji/kontener serwletów nie pokazuje takich informacji w swojej webowej konsoli...

Readmore

Vaadin vs Richfaces i o tym co z tego wyszło [Java... Głośno ostatnio na DWorld i DZone zrobiło się o nowej odsłonie Vaadina - frameworku opartego na GWT. Nigdy wcześniej nie miałem styczności z GWT (prócz kilku tutoriali i paru hellowordów). Pracuję...

Readmore

Jak wyciągnąć kilka pierwszych wyników zapytania... [sql] -- Oracle select a.* from (select rownum row_num, t.* from t_table t ) a where a.row_num <= N -- DB2 select * from t_table fetch first 10 rows only -- Informix select...

Readmore

Vademecum IBM i oraz darmowe konto na iSeriesIBM i... Znalazłem jakiś czas temu 'hosting' oparty o iSeries, na którym można założyć sobie darmowe konto. Gdyby ktoś zatem poczuł nieodpartą pokusę pobawienia się AS/400 Green Screen, to ma taką...

Readmore

twitter

Aplikacja JEE – problem z kodowaniem w UTF-8

Kategoria : java

Ostatnio w projekcie pojawił się tajemniczy bug, którego genezy jak dotąd nie udało się ustalić – wstęp rodem z Archiwum X ;). Problem polegał na złym wyświetlaniu polskich ogonków, pomimo ustawienia dobrych charsetów w plikach JSP, odpowiedniego kodowania plików i innych cudów na kiju standardowo robionych przy problemie z wyświetlaniem krzaczków zamiast polskich znaków diakrytycznych. Co ciekawsze kiedyś działało i nagle przestało – standard.

Wg ustaleń problem ten związany mógł być z przekazaniem autentykacji do ról JBossa (chodzi o napisanie własnego Realma, który zaczął coś mieszać) albo dziwnym zachowaniem niektórych komponentów RichFaces. Na sto procent nie udało się znaleźć w czym on tkwił, szybko jednak znalazło się rozwiązanie (niestety nie mojego autorstwa – pozdrawiam z tego miejsca mojego kierownika :) )

Od tego czasu, każda aplikacja webowa w Javie w której będę maczał swoje paluszki posiadać będzie Filter, który ustawi charset requestu na UTF-8, wg wzoru:


public void doFilter(ServletRequest req,
ServletResponse resp,
FilterChain chain) {
if (req.getCharacterEncoding() == null)
req.setCharacterEncoding("UTF-8");
}

Podpowiedzią do rozwiązania tego problemu, był taki oto wpis w web.xml viewera z pakietu do tworzenia raportów Birt:

<filter>
    <description>
        Filter to handle request object.
        Currently, set request
	character encoding to UTF-8.
    </description>
    <filter-name>ViewerFilter</filter-name>
    <filter-class>
        org.eclipse.birt.report.filter.ViewerFilter
    </filter-class>
  </filter>

Także ta buła dotknęła nie pierwszy i nie ostatni projekt w JEE:)

Edit: Po fakcie znalazłem dobrą notkę dla opornych na ten temat.

Skomentuj