# Tomcat Internet Explorer und Encoding



## kartoffelsack (28. Feb 2007)

Hi!

Ich habe eine Web-Site mit einem Formular. Wenn ich in das Formular im Internet-Explorer Umlaute eingeben kommen diese nicht korrekt beim Tomcat an. Bei Mozilla funzt es. 

Nach einigem rumprobieren hab ich folgende Erkenntnisse gewonnen

- Wenn ich im Internet-Explorer das Encoding der Seite händisch auf UTF-8 setzte funzt es auch.

- der Quellcode der Seite (es ist eine xsl-Datei) sieht folgendermaßen aus


```
<xsl:output encoding="UTF-8" indent="yes" method="html" omit-xml-declaration="yes"/>
    <xsl:template match="/">
        <html>
            <head>
                <META http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
...
                   <form name="filterForm" id="filterForm" method="POST" accept-charset="UTF-8">
```
Lass ich mir den Quellcode im Internet-Explorer anzeigen, sieht er so aus

```
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
...
<form name="filterForm" id="filterForm" method="POST" accept-charset="UTF-8">
```
Mozilla zeigt folgendes

```
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<META content="text/html; charset=UTF-8" http-equiv="Content-Type">
```


D.h. irgendjemand ändert das http-equiv-Attribut.

- in der server.xml hab ich (aufgrund von Beiträgen im Internet) beim Connector die attribute URIEncoding="UTF-8" und useBodyEncodingForURI="true" hinzugefügt. Das ändert aber nichts.


Hat jemand ne Idee?


----------



## HaBaLeS (28. Feb 2007)

Wenn du mit JSP´s arbeitest versuche es mal damit im Pageheader.

```
<%@page contentType="text/html;charset=ISO-8859-1" language="java" %>
```

bzw.


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


Wenn du die Seite über ein Servlet erstellst solltest du das encoding im HttpServlerResponse einstellen.


```
pResponse.setContentType( "text/html;charset=ISO-8859-1");
```


Ich hoffe das hilft weitrer.


----------



## kartoffelsack (28. Feb 2007)

arbeite mit xsl (oben ergänzt). --> hilft nicht.


----------



## kartoffelsack (28. Feb 2007)

jetzt versteh ich garnix mehr:

Wir haben jetzt in der Server-xml den parameter useBodyEncodingForURI von true auf false gestellt. Jetzt funzt es von manchen IE's von manchen rechnern aus. Manchmal aber auch nicht ... *verwirr*


----------



## firefighter73 (9. Mrz 2007)

Die Sache kenne ich auch von anderen Anwendungen. Oft hat das etwas mit den Ländereinstellungen Serverseitig und auch Clientseitig zu tun.

-> hier einfach auf dem Clientbetriebssystem "de_DE" einstellen
-> auf dem Server (Betriebssystem) ebenfalls

Vielleicht hilft Dir auch das weiter:

http://java.sun.com/j2se/1.4.2/docs/guide/intl/locale.doc.html

wwwi2.informatik.uni-wuerzburg.de/mitarbeiter/fischer/teaching/seminar/j2ee/2005-WS/JSF-Vortrag.pdf


----------

