# Encoding Problem

**URL:** <https://forum.xojo.com/t/encoding-problem/76122>\
**Category:** Deutsch\
**Created:** [June 10, 2023, 6:53pm UTC](https://forum.xojo.com/t/encoding-problem/76122 "2023-06-10T18:53:54Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jürgen\_Wagner](https://forum.xojo.com/user_avatar/forum.xojo.com/j%C3%BCrgen_wagner/32/7688_2.png) [@Jürgen\_Wagner](https://forum.xojo.com/u/J%C3%BCrgen_Wagner)\
**Post date:** [June 10, 2023, 6:53pm UTC](https://forum.xojo.com/t/encoding-problem/76122/1 "2023-06-10T18:53:54Z")

</div>

Hallo zusammen,

ich habe mich noch nie mit Text Encoding (UTF-8, UTF… usw.) auseinander gesetzt. Nun versuche ich über einen TextInputStream zeilenweise eine Textdatei einzulesen.

Soweit ich das beurteilen kann, ist die Textdatei UTF-8 kodiert.  
Kopiere ich dann eine Zeichenkette (die mit readline eingelesen wurde) wie z.B.

```auto
L\xC3\xB6schen

```

in ein Textfeld, wird die Zeichenkette dort auch als L\xC3\xB6schen angezeigt und nicht als Löschen.

Wo liegt mein Fehler? Habe schon viel mit Encodings herumgespielt, das Ergebnis ist immer das selbe…

Jürgen

---

<div class="post-metadata">

**Author:** ![Thomas\_Roemert](https://forum.xojo.com/user_avatar/forum.xojo.com/thomas_roemert/32/827_2.png) [@Thomas\_Roemert](https://forum.xojo.com/u/Thomas_Roemert)\
**Post date:** [June 10, 2023, 7:18pm UTC](https://forum.xojo.com/t/encoding-problem/76122/2 "2023-06-10T19:18:34Z")

</div>

Da wären ein paar mehr Angaben ganz hilfreich, z.B. einmal die Textdatei (um zu schauen, welche Kodierung die tatsächlich hat) und natürlich der Code, der zum Einlesen verwendet wird…

---

<div class="post-metadata">

**Author:** ![Greg\_O](https://forum.xojo.com/user_avatar/forum.xojo.com/greg_o/32/22785_2.png) [@Greg\_O](https://forum.xojo.com/u/Greg_O)\
**Post date:** [June 10, 2023, 7:43pm UTC](https://forum.xojo.com/t/encoding-problem/76122/3 "2023-06-10T19:43:35Z")

</div>

Wenn Sie die Zeile mit der Lesezeile lesen, geben Sie die Kodierung an?

- Übersetzt von Apple

---

<div class="post-metadata">

**Author:** ![Christian\_Schmitz](https://forum.xojo.com/user_avatar/forum.xojo.com/christian_schmitz/32/158_2.png) [@Christian\_Schmitz](https://forum.xojo.com/u/Christian_Schmitz)\
**Post date:** [June 10, 2023, 8:14pm UTC](https://forum.xojo.com/t/encoding-problem/76122/4 "2023-06-10T20:14:07Z")

</div>

> [@Greg\_O](#):
>
> Lesezeile

Greg meint wohl die ReadLine Funktion und ob da ein Parameter dran ist.

---

<div class="post-metadata">

**Author:** ![Jürgen\_Wagner](https://forum.xojo.com/user_avatar/forum.xojo.com/j%C3%BCrgen_wagner/32/7688_2.png) [@Jürgen\_Wagner](https://forum.xojo.com/u/J%C3%BCrgen_Wagner)\
**Post date:** [June 10, 2023, 8:37pm UTC](https://forum.xojo.com/t/encoding-problem/76122/5 "2023-06-10T20:37:30Z")

</div>

Ich gebe bei dem InputStream das Encoding an. Anbei mal ein schnell konstruiertes Beispiel, ist alles im Opening Event drin, einfach die beigefügte test.txt auswählen…

[Demo.zip](https://cloud.wagnershome.de:47555/sharing/78QACZKVU)

Wahrscheinlich ist es so banal, dass ich jetzt schon rot anlaufe 🤐

Hier noch zusätzlich der Code:

```auto
Var f As FolderItem
Var textInput As TextInputStream
Var rowFromFile As String
Var a As String

f = FolderItem.ShowOpenFileDialog("text/plain") // defined as a FileType
If f <> Nil Then
  textInput = TextInputStream.Open(f)
  textInput.Encoding = Encodings.UTF8
  
  While Not textInput.EndOfFile
    a = textInput.ReadLine
    TextArea1.AddText(a + EndOfLine)
    
  Wend
End If

```

---

<div class="post-metadata">

**Author:** ![Christian\_Schmitz](https://forum.xojo.com/user_avatar/forum.xojo.com/christian_schmitz/32/158_2.png) [@Christian\_Schmitz](https://forum.xojo.com/u/Christian_Schmitz)\
**Post date:** [June 10, 2023, 8:52pm UTC](https://forum.xojo.com/t/encoding-problem/76122/6 "2023-06-10T20:52:23Z")

</div>

In der Textdatei steht der Text so drin:

> Diesen Text m\xC3\xB6chte ich l\xC3\xB6schen  
> Und diesen Text m\xC3\xB6chte ich auch l\xC3\xB6schen

Die TextInputStream Klasse macht also alles richtig!

Die Sonderzeichen sind aus irgendeinem Grund zusätzlich kodiert mit \x prefix und das kann man in Xojo natürlich entfernen mit ein bisschen Code.

---

<div class="post-metadata">

**Author:** ![Jürgen\_Wagner](https://forum.xojo.com/user_avatar/forum.xojo.com/j%C3%BCrgen_wagner/32/7688_2.png) [@Jürgen\_Wagner](https://forum.xojo.com/u/J%C3%BCrgen_Wagner)\
**Post date:** [June 10, 2023, 9:10pm UTC](https://forum.xojo.com/t/encoding-problem/76122/7 "2023-06-10T21:10:40Z")

</div>

Ich glaube dass ich das falsch interpretiert habe. Wäre die Textdatei wirklich UTF-8, müsste das Wort Löschen doch so aussehen

\x4C\xC3\xB6\x73\x63\x68\x65\x6E

oder irre ich mich da?

Da aber in der Textdatei nur die Umlaute kodiert sind, sieht das eher wie bei HTML aus…also kein UTF Encoding sondern was anderes…

Da hab ich mir beim Einsteigen in die Encodings gleich Mal wieder das beste Beispiel an Text rausgesucht …

---

<div class="post-metadata">

**Author:** ![Christian\_Schmitz](https://forum.xojo.com/user_avatar/forum.xojo.com/christian_schmitz/32/158_2.png) [@Christian\_Schmitz](https://forum.xojo.com/u/Christian_Schmitz)\
**Post date:** [June 10, 2023, 9:38pm UTC](https://forum.xojo.com/t/encoding-problem/76122/8 "2023-06-10T21:38:06Z")

</div>

Nein, wenn da utf-8 drin wäre, dann stände da Löschen mit ö und dein Textprogramm würde sich um das encoding vom ö mit zwei oder drei Bytes kümmern.

Hier hast du eine UTF-8 Datei mit zusätzlichem Encoding.

---

<div class="post-metadata">

**Author:** ![Jürgen\_Wagner](https://forum.xojo.com/user_avatar/forum.xojo.com/j%C3%BCrgen_wagner/32/7688_2.png) [@Jürgen\_Wagner](https://forum.xojo.com/u/J%C3%BCrgen_Wagner)\
**Post date:** [June 11, 2023, 5:30am UTC](https://forum.xojo.com/t/encoding-problem/76122/9 "2023-06-11T05:30:34Z")

</div>

> [@Christian\_Schmitz](#):
>
> Hier hast du eine UTF-8 Datei mit zusätzlichem Encoding.

Praktisch das ö als Utf-8 Code hexcodiert…

Wo habe ich das schon gesehen?

Ah ja, speichert man das Projekt in Xojo als Text für Versions kontrolle ab, wird dort die gleiche Kodierung bei Umlauten verwendet.

Und in C:  
So the sequence in your example of `'\xeb\x2a'` is an implementation defined value. It’s likely to be the int value `0xeb2a` or `0x2aeb` depending on whether the target platform is big-endian or little-endian, but you’d have to look at your compiler’s documentation to know for certain.

---

<div class="post-metadata">

**Author:** ![Jürgen\_Wagner](https://forum.xojo.com/user_avatar/forum.xojo.com/j%C3%BCrgen_wagner/32/7688_2.png) [@Jürgen\_Wagner](https://forum.xojo.com/u/J%C3%BCrgen_Wagner)\
**Post date:** [June 11, 2023, 2:18pm UTC](https://forum.xojo.com/t/encoding-problem/76122/10 "2023-06-11T14:18:33Z")

</div>

Da dies doch kein echtes Ecoding Problem war markiere ich das Thema mal als erledigt!  
Danke an alle!
