Umlaut-Problem

Für allgemeine Fragen zur Programmierung mit PureBasic.
es_91
Beiträge: 411
Registriert: 25.01.2011 04:48

Umlaut-Problem

Beitrag von es_91 »

Hallo.

Ich will Strings aus Dateien auslesen, dabei sollen auch Umlaute darin vorkommen dürfen. Bisher werden die Umlaute aber durch Fragezeichen in den Strings ersetzt. Was mache ich falsch?

Code: Alles auswählen

  If ReadFile(0, FileName$)
    
    While Not Eof(0)
      
      ReadString$ = ReadString(0)
      Debug ReadString$
"Debug ReadString$" zeigt mir die Strings mit Fragezeichen statt der Umlaute an. Und lese ich die Strings dann in einen TreeGadget zeigt dieser statt dem Fragezeichen Hyroklyphen an!
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8837
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Umlaut-Problem

Beitrag von NicTheQuick »

Liest du zufällig eine UTF-8-Datei ein und deine Executable ist nur Ascii? Also hast du in den Compiler-Optionen Unicode aktiviert oder nicht?
es_91
Beiträge: 411
Registriert: 25.01.2011 04:48

Re: Umlaut-Problem

Beitrag von es_91 »

Hoppla! Ja, da war noch Unicode angeklickert. Vielen Dank, Nic, jetzt geht's ! :bounce:
Benutzeravatar
HeX0R
Beiträge: 3070
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Re: Umlaut-Problem

Beitrag von HeX0R »

Falls die Dateien einen BOM haben, wäre es sinnvoll, den auszulesen und auch zu benutzen (via ReadStringFormat())
es_91
Beiträge: 411
Registriert: 25.01.2011 04:48

Re: Umlaut-Problem

Beitrag von es_91 »

Jetzt sitze ich vor Visual Basic 2008 und habe das gleiche Problem. Kann mir vielleicht jemand sagen, wie man bei VB2008 ein Unicode-Häkchen entfernt? Ich finde so eine Funktion nicht.
Benutzeravatar
Kiffi
Beiträge: 10725
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Umlaut-Problem

Beitrag von Kiffi »

es_91 hat geschrieben:Jetzt sitze ich vor Visual Basic 2008 und habe das gleiche Problem. Kann mir vielleicht jemand sagen, wie man bei VB2008 ein Unicode-Häkchen entfernt? Ich finde so eine Funktion nicht.
in .Net sind alle Strings generell Unicode. Da gibt's kein Häkchen.

Beim Einlesen von Textdateien solltest Du System.Text.Encoding.Default setzen.

Grüße ... Kiffi
a²+b²=mc²
es_91
Beiträge: 411
Registriert: 25.01.2011 04:48

Re: Umlaut-Problem

Beitrag von es_91 »

Dankeschön, Kiffi!
Antworten