In meiner Android App lade ich Json-Daten mit einer Volley JsonArrayRequest
. Die Daten wurden von mir selbst erstellt und ich habe sie mit Sublime mit UTF-8-Codierung gespeichert. Wenn ich die Response
bekomme und meine ListView
fülle, werden die Texte nicht richtig angezeigt (Umlaute). So sieht meine Anfrage aus:
Wenn ich genau dieselben Daten mit dieser Methode lade, werden alle Texte korrekt angezeigt:
%Vor%Für mich scheint es also kein Problem mit der Codierung meiner JSON-Datei zu geben. Wie kann ich dieses Codierungsproblem in Volley beheben?
Wenn Sie wissen, dass absolut alle Dateien, die Sie anfragen, im UTF-8-Format vorliegen, was Ihrer Meinung nach klingt, dann sollten Sie Ihre Volley-Anfrage zwingen, UTF-8-formatierte Zeichenfolgen zurückzugeben. Sie können dies erreichen, indem Sie die JSON-Standardanforderung ableiten. Etwas wie das:
%Vor%Ich habe das gleiche Problem wie dieses und ich löse es mit UTF-8-Zeichensatz.
%Vor%Ich hoffe, das wird für Sie funktionieren
Dies ist wie ein Charme für mich gearbeitet ,, Ich habe nur eine statische Methode von @Muhammad Naeem die Antwort ,, Danke Muhammed ..
%Vor%ein anderer Ansatz: Sie können Ihre gesamte Antwort mit dieser Codezeile codieren.
%Vor%Ich habe ganze Antwort-String in UTF-8 codiert, wie ich weiß, Volley-Standard-Encodemethode ist ISO8859-1
Fügen Sie diese Codezeile innerhalb der Antwort von Volley hinzu:
%Vor%Um im Server-Teil anzugeben, setze utf-8 im Inhaltstyp wie "text / html; charset = utf-8"
Ich hatte das gleiche Problem früher vor zwei Tagen und ich habe alles versucht, was meine Freunde gerade gesagt haben, und es ist das gleiche Problem und ich habe so viele Dinge versucht .. meine Datei ist in PHP geschrieben und mit Volley, um die Daten als Json zu bekommen, ich befolgte diese Schritte, um das Problem zu lösen ..
Schreiben Sie diese Abfrage, bevor Sie die Abfrage in Ihrer Datenbank ausführen
mysqli_query ($ this- & gt; Verbindung, "set_NAMES_utf8");
benutze diesen Header in deiner Datei, wenn es php
istheader ('Inhaltstyp: application / json; charset = utf-8');
Während du den JSON nach PHP phonst, gibt es eine Lösung für dieses Problem
Verwende diesen speziellen Charakter in json_encode($json,JSON_UNESCAPED_UNICODE)
Ich hoffe, es hat geholfen
Tags und Links android utf-8 encoding android-volley