Wie zum Dekodieren von utf-8-kodierten string mit Sonderzeichen wie "<span style=\"color:#ff0000;\"gt;" in android?
Möchte ich zeigen, die Farbe,span,font etc in webview.So kommen die Daten von der php-webservice.Durch problem bei der Analyse der Daten, verschlüsseln wir Sie mit UTF-8-format.Ich erfolgreich analysieren der Daten und einfügen in die Datenbank.Aber das problem hier ist, dass, wenn ich zeigen will, dass die Daten im webview es dann enthalten einige Sonderzeichen, wie "<span style=\"color:#ff0000;\">"
was bedeutet <span color="#ff0000"/>"
. So hier möchte ich zu Dekodieren und wollen das Ergebnis in der Form "".
Ich möchte einfach String str = "<span style=\"color:#ff0000;\"gt;";
public String decodeMethodUtf(Str)
{
//do some coding and decode
return str;
}
Jede Hilfe ist willkommen.
- Ein kaufmännisches und-Zeichen
&
fehlt; sollte>
im original-text (XML?). Wenn es bearbeitet wurde innerhalb Stackoverflow, verwenden Sie "zurück" Zecken " für die Angabe des Codes. - kein kaufmännisches und-Zeichen & ist nicht vorhanden.. ich habe mehr als 20 tausend Zeilen in der Datenbank und ich möchte Ihnen zeigen, in webview.
- String str = "<span style=\"color:#ff0000;\">"; String decoded_string = decdecodeMethodUtf(str); Log.e("", ""+decoded_string);//und dies ist der Ausgang = <span style=\"color:#ff0000;\"> public String decodeMethodUtf(Str) { return URLDecoder.decode(str, "UTF-8"); } @JoopEggen
- Die Zeichenfolge, die in einer Frage enthält ungültige beendet amps:
\"
die sollte nicht abgebrochen werden, und es werden nur"
statt. Auch der string enthält nicht benötigte Semikolon:color:#ff0000;
. Sieht aus wie die angegebene Zeichenfolge von selbst ungültig ist zunächst, und es kann nicht verarbeitet werden, eigentlich. Die richtige Zeichenfolge sollte:String str = "<span style="color:#ff0000">"
und mit Html.fromHtml() zurück<span style="color:#ff0000">
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vielleicht ist dies, was Sie wollen
Log.d(TAG,"Symbols decoded: "+ Html.fromHtml("<span style="color:#ff0000;">"));
es gibt gültige Zeichenfolge wie:Symbols decoded: <span style="color:#ff0000;">
. Jedoch wird die ursprüngliche Zeichenfolge, die in einer Frage enthält ungültige beendet amps:\"
die sollte nicht abgebrochen werden, und es hat nicht mehr benötigte Semikolon als gut.Eigentlich android nicht gibt keine direkte Klasse oder Methode zu Entschlüsseln und entfernen Sie alle Sonderzeichen.Ich verbringe viele Stunden auf dem web zu finden.Also wenn ich jetzt beantworten möchte ich die Antwort mit Euch.
Dies kann durch die Verwendung von org.apache.Unterhaus.lang-Klasse, die nicht in android.
Also, zuerst müssen Sie zum herunterladen der jar-Datei aus
hier http://mvnrepository.com/artifact/commons-lang/commons-lang/2.3
nach dem download der jar-Datei enthalten, die Datei in Ihrem Projekt.
und jetzt eine Zeile code ist hier
decoded_string = StringEscapeUtils.unescapeHtml(endoded_string);
und die dekodierte Zeichenfolge ist Ihre Letzte Zeichenfolge ohne Sonderzeichen.
Hoffe, es hilft.
Danke @DEVENDRA. Von Ihnen post ich war in der Lage zu entschlüsseln die zurückgegebenen JSON-string, der hatte kodiert wurde
Die Magie war in Ihrer Aussage:
==============================================