TextView erscheint statt "ü" ein "A - Sinus" gefolgt von "1/4"

  • Antworten:7
  • Bentwortet
Klaus R.
  • Forum-Beiträge: 10

07.05.2012, 23:26:33 via Website

Hallo,
ich habe eine App unter Eclipse Android 4.x programmiert. Jetzt habe ich sie unter Android 2.2 getestet, Auch der Emulator läuft unter 2.2.
Im EditView werden Umlaute richtig wiedergegeben. Im TextView erscheint statt "ü" ein "A - Sinus" gefolgt von "1/4". Ein Problem des Zeichensatzes. Unter Android 4.x war keine Einstellung nötig. Was ist für den TextView unter Anroid 2.2 erforderlich?

Gruss Klaus.

Antworten
Felix
  • Forum-Beiträge: 259

07.05.2012, 23:54:06 via Website

Tach!

Klaus R.
Im EditView werden Umlaute richtig wiedergegeben. Im TextView erscheint statt "ü" ein "A - Sinus" gefolgt von "1/4". Ein Problem des Zeichensatzes.

Zeichenkodierung wäre der richtige Begriff. ü (das ~ nennt sich Tilde) ist ein UTF-8-kodiertes ü. Dazu werden zwei Byte verwendet, die als ISO-8859-1/Latin1/Windows-1252 interpretiert eben à und ¼ ergeben.

Im Emulator kann ich das nicht nachvollziehen, alles bestens. Android arbeitet generell mit UTF-8. Wenn du in deiner Verarbeitungskette davon abgewichen bisst, kann die Ursache eine ungewollte Umkodierung sein. Wenn alles mit rechten Dingen zugeht, müssten die beiden Zeichen à und ¼ ordnungsgemäß UTF-8-kodiert in deinen Ressourcen enthalten sein, damit Android sie so anzeigen kann. Beide Zeichen sind wiederum mit je zwei Byte kodiert. Mit einem Hex-Editor sollten 4 Byte zu sehen sein. Ansonsten wüsste ich nicht, warum ohne weiteres Zutun das eine Element plötzlich Text als 8-Bit-kodiert interpretieren sollte.

Falls Bedarf besteht: Zeichencodierung für Anfänger.


Felix.

— geändert am 07.05.2012, 23:54:30

Antworten
Klaus R.
  • Forum-Beiträge: 10

08.05.2012, 11:51:19 via Website

Hallo,
der Umlaut war jetzt tatsächlich als ü im Source zu sehen. Ich habe daraufhin ein ü geschrieben und alles war wie es sein sollte.
Eine Erklärung habe ich jedoch dafür nicht.. Nach dem ich ein leeres Projekt mit Android 2.2 angelegt hatte, wurden die Sourcen einfach von der Version mit Android 4.x kopiert.
Gruss Klaus

Antworten
Markus Gu
  • Forum-Beiträge: 2.644

08.05.2012, 12:40:52 via Website

musst den zeichensatz im eclipse projekt richtig einstellen

swordiApps Blog - Website

Antworten
Klaus R.
  • Forum-Beiträge: 10

08.05.2012, 13:19:17 via Website

Hallo,

> musst den zeichensatz im eclipse projekt richtig einstellen

wo lässt er sich denn im Projekt einstellen?

Gruss Klaus.

Antworten
Markus Gu
  • Forum-Beiträge: 2.644

08.05.2012, 13:23:52 via Website

project - properties

swordiApps Blog - Website

Antworten
Klaus R.
  • Forum-Beiträge: 10

08.05.2012, 13:39:47 via Website

Hallo,
unter Properties -> Resource - > Text file encodiding steht "Inherited from container (cp1252).
Das ist der Windows Zeichensatz.

Allerdings hatte ich dort im Source statt einem "ü" die Zeichen "ü" gesehen. Nachdem ich dies wieder mit "ü" überschrieben hatte war auch die Textwiedergabe im Emulator wieder in Ordnung. Merkwürdigerweise waren in noch zwei Sourcen ebenfalls Umlaute die aber nicht beim Kopieren verändert worden sind.

Ich denke, ich hake das Ereignis erst einmal ab.

Gruss Klaus.

Antworten
Felix
  • Forum-Beiträge: 259

08.05.2012, 19:19:31 via Website

Tach!

Klaus R.
unter Properties -> Resource - > Text file encodiding steht "Inherited from container (cp1252).
Das ist der Windows Zeichensatz.

Wenn du in Eclipse keine Projekte bearbeitest, die etwas anderes als UTF-8 benötigen, dann stell es doch generell auf UTF-8 um. (Und wenn du Projekte hast, die noch nicht auf UTF-8 basieren, solltest du dich fragen, ob es zwingende Gründe gibt, die das verhindern.)


Felix.

Ansgar M

Antworten