wie set string Zeichenkodierung in android
HALLO! Ich habe eine web-Seite Inhalte in codiert in ISO-8859-2. Wie konvertiert einen stream codiert in diesem Zeichensatz java UTF-8. Ich versuche den folgenden code, aber es funktioniert nicht. Es gibt einige Zeichen. Gibt es eine andere Möglichkeit, dies zu tun?
BufferedInputStream inp = new BufferedInputStream(in);
byte[] buffer = new byte[8192];
int len1 = 0;
try{
while ( (len1 = inp.read(buffer)) != -1 )
{
String buff = new String(buffer,0,len1,"ISO-8859-2");
stranica.append(buff);
}
- Sie sollten re-tag dieses "Java", nicht "Android"
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie es mit einem InputStreamReader und Charset:
Wenn du eine
UnsupportedCharsetException
Sie wissen, was ist Ihr problem... Auch mitinp.getEncoding()
können Sie überprüfen, welche Kodierung tatsächlich verwendet.ISO-8859-2
undISO8859-2
sind beides gültige Namen für die Codierung und Java erkennt beide.Falsche Annahme: Java verwendet UTF-16 intern, nicht UTF-8.
Aber dein code sieht eigentlich korrekt und sollte funktionieren. Sind Sie absolut sicher die Webseite ist in der Tat codiert in ISO-8859-2? Vielleicht ist die Codierung falsch deklariert ist.
Oder vielleicht das eigentliche problem ist nicht mit der zu lesenden code, den Sie gezeigt haben, aber mit dem, was code, den Sie verwenden, um Arbeit mit dem Ergebnis. Wie und wo diese "verkorkste Charaktere" manifestieren?