/ / Abrufen deutscher Zeichen aus SQLite-Datenbank in Android - Android, SQLite, UTF-8

Abrufen deutscher Zeichen aus der SQLite-Datenbank in Android - Android, SQLite, UTF-8

Ich habe Schwierigkeiten, "spezielle" / deutsche Zeichen (d. H. "Ääüß") aus meiner SQLite-Datenbank mit Android zu holen.

Ich verwende die SQLiteOpenHelper-Klasse, um auf die Datenbank zuzugreifen, und die Zeichen werden entweder als Leerzeichen oder als Rechteck angezeigt.

Ich kann die Felder in der Befehlszeile und sie auswählenrichtig angezeigt, also gehe ich davon aus, dass sie korrekt gespeichert sind? Allerdings habe ich eine Reihe von GUI SQLite-Clients (SQLite Database Browser, sqliteman, Firefox "s SQLite-Client) verwendet und keiner von ihnen hat die Zeichen richtig angezeigt, Das scheint merkwürdig, aber das eigentliche Problem ist, dass sie in meiner App nicht korrekt angezeigt werden.

Ich habe versucht, hinzuzufügen:
System.setProperty("file.encoding", "utf-8")
und
System.setProperty("file.encoding", "ISO-8859-1")

Ich bin mir nicht ganz sicher, was das bedeutet, aber ich sah es in verwandten Beiträgen erwähnt, also werde ich es einschließen:
SELECT hex("ä"); kehrt zurück 84 und SELECT typeof(data) kehrt zurück text.

Vielen Dank!

Antworten:

0 für die Antwort № 1

84 ist nicht die korrekte utf-8-Codierung von ä.

Die Windows-Eingabeaufforderung unterstützt UTF-8 nicht ordnungsgemäß. Wenn Sie die Daten von dort eingegeben haben, ist die Codierung falsch.

Benutze die .read Befehl zum Lesen der Daten aus einer utf-8-codierten Datei oder zum Eingeben der Daten mit einem der GUI-Tools, die utf-8 korrekt verarbeiten.