Konvertierung Internetexplorer Java (CP1252 -> HTML Entit

Status
Nicht offen für weitere Antworten.
R

Reth

Gast
Hallo allerseits,

ich habe ein Problem mit der Zeichendarstellung von Daten, die in JSP-Formularen via IE eingegeben werden.
Die Daten sind mit CP1252 kodiert. Allerdings hat MS ja die "schöne" Eigenart, ASCII Kodes >127<255 mit
darstellbaren Zeichen zu belegen. D.h. ich bekomme ein "RIGHT SINGLE QUOTATION MARK" (´) mit der ASCII Kodierung 146. Und speichere es so in die DB2. Dort kommt das Zeichen aber als undefiniert an (müsste mir mal die Hexcodes ansehen, die DB2 da verwendet) und kann im weiteren Verlauf nicht richtig verarbeitet werden.

Wenn ich die Daten direkt aus dem Request in eine Textdatei ausgeben lasse, bekomme ich ein ? angezeigt (da Java das Zeichen wohl als nicht-darstellbar ansieht).

Wie kann ich nun dieses (und evtl. andere betroffene Zeichen) so Konvertieren, dass ich z.B. mit den StrinEscapeUtils von Jakarta Commons Lang richtige HTML Entities bekomme?

Habe schon zig Sachen versucht, u.a. das Java Tutorial zum Konvertieren von Strings.

Momentan hab ich folgendes:


Code:
try {
    String roundTrip = new String(shortDescr.getBytes("Cp1252"), "UTF-16");
} catch (java.io.UnsupportedEncodingException e) {
    ...
}

Hab auch schon folgendes versucht:

Code:
try {
    byte[] utf8Bytes = shortDescr.getBytes("UTF8");

    String roundTrip = new String(utf8Bytes, "UTF8");
} catch (UnsupportedEncodingException e) {
    ...
}

Aber in roundTrip steht immer ein ? anstelle des ´ !!!

Was muss ich tun, damit ich die Daten aus der JSP richtig in HTML Entities konvertieren kann, bevor ich sie in der DB2 ablege?

Danke schon mal
Ciao
 

KSG9|sebastian

Top Contributor
ein String hat keinen Zeichensatz..siehe Forensuche!

InputStream/OutputStream verwenden ?

Nem Byte(array) kannste glaub auch nen Zeichensatz mitgeben!
 
G

Guest

Gast
KSG9|plak hat gesagt.:
ein String hat keinen Zeichensatz..siehe Forensuche!

Schon, aber ein Characterencoding, welches man im Konstruktor und bei getBytes angeben kann.

KSG9|plak hat gesagt.:
InputStream/OutputStream verwenden ?
Nem Byte(array) kannste glaub auch nen Zeichensatz mitgeben!

Habe folgendes bereits vorgeschalten, um das Encoding des empfangenen Strings zu bekommen:

Code:
java.io.InputStreamReader isr = new java.io.InputStreamReader(new java.io.ByteArrayInputStream(shortDescr.getBytes()));

Wenn ich den aus dem Formular im Request empfangenen String so kodiere:

Code:
String roundTrip = new String(shortDescr.getBytes("UTF-16"), "UTF-16");

Gibt mir die escapeHtml-Methode der StringEscapeUtils anstelle von ' ’ aus! (Mit dem ASCII Code 146 dezimal legt CP1252 das ´-Zeichen ab.)

Das kanns doch wohl nicht sein, oder!?

Weiss da jmd. Rat?

Ciao
 
G

Guest

Gast
Hab vergessen zu erwähnen, dass ich bei:

Code:
String roundTrip = new String(shortDescr.getBytes("UTF-16"), "UTF-16");

in der Ausgabe getBytes() verwende und mir jedes einzeln ausgeben lasse.
 

Bleiglanz

Gesperrter Benutzer
du musst den Browser zu einem Encoding zwingen!

vor dem abschicken der JSP response.setCharaxterEncoding + den mime-Typ + evtl. die <meta tags auf das gewünschte Encoding einstellen

beim repost der Antwort vor dem ersten Verwenden von getParameter die Methode request.setCharacterEncoding aufrufen
 

daLenz

Aktives Mitglied
oder eine andere möglichkeit ist, dir einen filter zu schreiben, und diesen in der web.xml aufzurufen. somit musst du nicht überall das richtige encoding setzen, sondern nur eimal...vorausgesetzt, du willst überall dasselbe encoding verwenden...
 

Bleiglanz

Gesperrter Benutzer
daLenz hat gesagt.:
oder eine andere möglichkeit ist, dir einen filter zu schreiben, und diesen in der web.xml aufzurufen. somit musst du nicht überall das richtige encoding setzen, sondern nur eimal...vorausgesetzt, du willst überall dasselbe encoding verwenden...

ganz genau! wenn möglich soll man "global" ein Encoding erzwingen, sonst kanns Probleme geben (wenn etwa verschiedene JSPs an das gleiche Ziel ihre POSTs verschicken usw.)
 
R

Reth

Gast
Bleiglanz hat gesagt.:
du musst den Browser zu einem Encoding zwingen!

vor dem abschicken der JSP response.setCharaxterEncoding + den mime-Typ + evtl. die <meta tags auf das gewünschte Encoding einstellen

beim repost der Antwort vor dem ersten Verwenden von getParameter die Methode request.setCharacterEncoding aufrufen

Hi, den MIME-Type ignoriert der IE. Dieser ist wie folgt angegeben:

Code:
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=iso-8859-1">

daLenz hat gesagt.:
oder eine andere möglichkeit ist, dir einen filter zu schreiben, und diesen in der web.xml aufzurufen. somit musst du nicht überall das richtige encoding setzen, sondern nur eimal...vorausgesetzt, du willst überall dasselbe encoding verwenden...

Dumme Frage: Wie macht man denn sowas?

Danke
Ciao
 

Bleiglanz

Gesperrter Benutzer
jo der IE hat ganz eigene Methoden um das Encoding rauszufinden

=> http header, meta-tag, usw.

Filter: schau mal in ein buch, oder google nach "Java Servlet Filter"
 

daLenz

Aktives Mitglied
Reth hat gesagt.:
Dumme Frage: Wie macht man denn sowas?

- eine klasse filter ("extends" HttpServlet "implements" Filter)
- init-Methode (--> auslesen des parameter-value)
- doFilter-Methode (encoding in servletrequest setzen)
- destroy-methode (kann leer gelassen werden, muss aber implementiert werden)
- filter-eintrag in web.xml mit parameter-name und parameter-value(=gewünschter encoding-typ)
- abschliessend filter noch mappen

dann mal viel spass ;)

greetz
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Konvertierung JSF -> facelets (templating) Allgemeines EE 1
T Java ServerFaces Anwendung mit XHTML & CSS Allgemeines EE 1
E modulare Java-Anwendung verteilen (Camel) Allgemeines EE 0
B Java Mail und idle() mit zig Emailadressen? Allgemeines EE 59
H JWebUnit Fehler: java.lang.NoClassDefFoundError: org/apache/regexp/RESyntaxException Allgemeines EE 24
B Java mail API - möchte nur eine gewisse Anzahl von Emails in die Liste holen Allgemeines EE 3
M Rest mit Java 11 Allgemeines EE 6
M java.lang.SecurityException: class "javax.persistence.TupleElement"'s signer information does not match ... Allgemeines EE 1
F Java Programmierer Allgemeines EE 13
R Wie viel DevOps sollte ein Java-Entwickler kennen, der sich in Microservices spezialisiert? Allgemeines EE 5
Dimax JSP Probleme mit Java in JSP Allgemeines EE 21
Dimax JSP Auf button click java methode ausführen.Ist das möglich? Allgemeines EE 6
B Logging (log4j) in JAVA EE application - WildFly Allgemeines EE 15
A Java EE (am Cleint) und websocket Allgemeines EE 8
J Ich kann Java JDK nicht downloaden Allgemeines EE 6
R Aufbau zum Java EE Entwickler - Schulungen Allgemeines EE 0
G Java EE Hosting ? Allgemeines EE 6
P Java EE Videotutorials Allgemeines EE 1
R Java Enterpise entwickeln mit Virtualbox Allgemeines EE 6
A OutOfMemoryError: Java heap space Allgemeines EE 7
I Start Word from Java Allgemeines EE 1
T Java Jersey Interceptor Allgemeines EE 7
R Post Variable in Java Allgemeines EE 8
L JSP Fehlermeldung bei Verwendung von Java-Expression-Language Allgemeines EE 8
K Wie habt ihr Java EE gelernt? Allgemeines EE 11
hjpsoft JSF Lösung einer Aufgabe im "Workshop Java EE7" Allgemeines EE 5
S Welcher Java EE Applikationserver für RESTful Webservice? Allgemeines EE 2
T Java Login Allgemeines EE 1
L Certified Master Java Enterprise Architect Java EE Allgemeines EE 3
R Java EE 6, eclipse, maven, jsf, hibernate, mysql Allgemeines EE 8
D Einfaches Java Projekt funktioniert nicht Allgemeines EE 3
W Authentifizierung und Sessions in Java EE7 Allgemeines EE 0
OnDemand Task in Java ee Allgemeines EE 7
OnDemand JSF - java File Verständnisfrage Allgemeines EE 5
OnDemand Deployen ohne .java Files Allgemeines EE 0
E Wie kann ich über einen Suchfeld in Java Server Pages nach Datenbankinhalten suchen? Allgemeines EE 11
V Java EE 7 CDI, annotations und beans Allgemeines EE 1
G Bachelorthesis: Java oder PHP (CMS) Allgemeines EE 7
X Konsolenausgabe einer java klasse in eine jsp umleiten Allgemeines EE 7
S Aufruf eines EJBs aus einer nativen Java-Applikation Allgemeines EE 1
T Fertiges html javascrip css template in java EE application Allgemeines EE 0
F Eclipse/Java EE Debug-Problem Allgemeines EE 1
D Java Projekt goes Webservice Allgemeines EE 6
L Button Handling in JSP mit Java-Backend Allgemeines EE 2
Shams Frage zu Dowload von JAVA SDK Allgemeines EE 5
T Größeres Java EE Beispiel Projekt Allgemeines EE 4
N JavaScript schickt und Java empfängt? Allgemeines EE 4
O Java EE in Netbeans + allgemeine Fragen Allgemeines EE 5
H java selenium spezis? Allgemeines EE 4
H java selenium test connection refused Allgemeines EE 6
M Java EE-Technologie-Lern-Wahl Allgemeines EE 5
B [EJB] javax.inject.DefinitionException: bean not a Java type Allgemeines EE 5
J Java Dependencies auslesen Allgemeines EE 19
2 installation java EE Allgemeines EE 12
J PHP oder Java? Allgemeines EE 12
L Webseiten Formulare über Java Oberfläche ausfüllen? Allgemeines EE 2
T Java CMS Entwicklung : Welcher Weg ist besser? Allgemeines EE 9
F Gesucht: Gratis Server für Java Entwickler Allgemeines EE 4
J Einstieg in Java EE Allgemeines EE 5
aze Eclipse Java EE Web Project:Wo liegen die Servlets ? Allgemeines EE 4
S java Entities Problem Allgemeines EE 19
D Grundüberlegung Java Webprojekt Allgemeines EE 10
F Einstieg in Java EE - Beispielanwendungen Allgemeines EE 52
R JAVA EE - eigene Klassen aus EJB übernehmen Allgemeines EE 2
T "normales" Java Programm auf einen Server laufen lassen Allgemeines EE 3
M EE6+EJB+JavaLib: Error in annotation processing: java.lang.NoClassDefFoundError Allgemeines EE 4
G java ResourceLocator Allgemeines EE 12
M Was ist mit Java möglich? Allgemeines EE 13
T Komponenten zusammenhänge Java EE Allgemeines EE 7
A Java CMS Allgemeines EE 2
P Architektur Java EE <-> HTML5 Allgemeines EE 3
A Java Tomcat findet Website nicht Allgemeines EE 8
F Java EE Server nutzung kostenlos an Schule? (zB. mit Glassfish) Allgemeines EE 6
B Java EE, kickstart my heart Allgemeines EE 10
P Frage zu Java EE Design Patterns Allgemeines EE 3
G EJB und Java EE - No Persistence provider Allgemeines EE 5
zilti Java EE Hosting, worauf muss ich achten? Allgemeines EE 5
M Java EE6: Wie Login-Vorgang durchführen? Allgemeines EE 2
MQue Java Web- Application -> MVC Allgemeines EE 4
G Java <-> Flex Allgemeines EE 2
Spin Ant - Java Beans umsetzen Allgemeines EE 4
V "null" durch NICHTS ersetzen jsp und java beans Allgemeines EE 3
M Serialisierung und Klonen in Java Allgemeines EE 5
W JAVA Optionen auslesen Allgemeines EE 3
D Spring 3 vs. Java EE 6 Allgemeines EE 33
MQue CMS in Verbindung mit Java Allgemeines EE 16
X3TitanCore Java Servertechnologie Allgemeines EE 7
C WebStart Fehler nach update auf Java 1.6 Allgemeines EE 2
R Variablen statt Java-Methoden in EL's Allgemeines EE 4
T Suche Buch für: Large Scale Web-Apps | Clustering | Scaling in Java ? Allgemeines EE 4
G Vergleich zwischen Java Spirng und Ruby on Rails Allgemeines EE 9
K EJB Enterprise Java Beans Allgemeines EE 32
F Ich will mit Java Internetseiten bauen, aber wo hosten? Allgemeines EE 14
J OOP Java Array Problem Allgemeines EE 2
T Problem mit Java Transaction API Allgemeines EE 2
D Java EE vs. Spring/Hibernate Allgemeines EE 26
R Java EE Anfänger will mehr. Allgemeines EE 7
A Fragen zum Einstieg in Java EE Allgemeines EE 11
M Evolution der Web-Entwicklung im Java-Bereich Allgemeines EE 15
N erstes Java EE Projekt - Server/ EJB-Verbindung-Anfängerfage Allgemeines EE 17

Ähnliche Java Themen

Neue Themen


Oben