Ich nutze in meiner Anwendung mehrere Webdienste. Ich habe bemerkt das in ihren Antworten statt den Buchstaben ä, ü,... irgendwelche merkwürdige Zeichen bekomme. Ich nehme an das dies am Charakter Encoding liegt.
Das gleiche passiert wenn mein J2ME Client etwas zur Serverkomponente schickt.
Wie kann ich solche Probleme lösen? Kann ich die Antworten irgendwie in UTF8 umwandeln, obwohl ich nicht weiß welches encoding sie benutzen? Kann ich das Encoding irgendwie selbst ermitteln?
EDIT: Momentan löse ich das Problem folgendermaßen
Grundsätzlich gilt, das Encoding kann man nur in Ausnahmefällen automatisch erkennen, daher ist es immer besser das encoding zu kennen, und gezielt zu konvertieren. Da Du von Webdiensten sprichst, könnte Dir folgendes helfen:
Das encoding kann im HTTP Header stehen, oder die HTML Datei selbst enthält das Encoding. Bei XHTML z.b. im XML header:
<?xml version="1.0" encoding="UTF-8"?>
Bei normalen HTML Dateien kann man das so aussehen:
Du könntest auch versuchen beim 'Einsammeln' der Daten schon UTF-8 anzufordern, indem Du beim Request einen Accept-Charset Header mitsendest. Deine Auswertung was denn da wirklich zurück kommt sollte sich dann auch auf die Reqponse Header erstrecken: Content-Type. Was da drin steht ist das was kommt, wenn es nicht da ist haste nix, wenn es sich mit den anderen Angaben (Content-Intern z.B. meta, xml-header) beisst, dann macht der Content Anbieter was falsch.