Avatar billede mercutio Nybegynder
10. februar 2009 - 11:22 Der er 2 kommentarer

Encoding problemer jsp post til servlet

Hej Eksperter.

Jeg er løbet på et problem. Hvis jeg poster æ ø eller å fra min jsp side til min servlet får jeg bare et ? i stedet for.

Sådan ser min form ud.

<form method="post" action="requestfeeder/createnew" name="form5">
        <table>
            <tr>
                <td>Xml:</td>
                <td><textarea rows="5" cols="25" name="requestXml"></textarea></td>
            </tr>
            <tr>
                <td><input type="submit" value="Send xml"/>
                </td>
            </tr>
        </table>
    </form>

I min serlvet trækker jeg værdien ud således
String requestXml = request.getParameter("requestXml");

Hvis jeg poster "aæ"

får jeg bare

"a?" ud igen.

Jeg har forsøgt med
requestXml = new String(requestXml.getBytes(), "ISO-8859-1")
men det nytter ikke noget.

Nogle gode ideer?
Avatar billede arne_v Ekspert
10. februar 2009 - 14:02 #1
Jeg tror at loesningen er at faa sat korrekt karakter saet paa JSP siden.

Der er kun 2 muligheder:

<%@ page contentType="text/html; charset=UTF-8" %>

<%@ page contentType="text/html; charset=ISO-8859-1" %>
Avatar billede morten_grouleff Nybegynder
23. februar 2009 - 21:14 #2
Nu ved jeg jo ikke om du bruger tomcat... Hvis du gør er det sikkert dette problem: Tomcat synes at default encoding af post er iso-8859-1, mens browseren bruger utf-8. Du kan bede tomcat skifte mening:

http://wiki.apache.org/tomcat/FAQ/Connectors#Q8

I andre servlet-containere (Og for så vidt også i tomcat) kan man løse det med et servletfilter først i kæden, der siger

request.setCharacterEncoding("utf-8");
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester