Seite 1 von 1

utf8

Verfasst: 18.03.2011 09:35
von delikanli_19_82
hallo leute,

bin nicht wirklich fündig geworden, deshalb schildere ich hier mein problem und hoffe auf eine lösung:

für ein programm muss ich eine gui zusammenbasteln, das in der türkischen sprache vorliegen muss. hierbei gibt es einige sonderzeichen, die es im englischen bzw. deutschen nicht gibt.

zum beispiel ein s und c das unterhaken haben und ein g mit einem dach sowie eine i ohne den punkt.

ich habe in der purebasic-ide einstellungen unter compiler-standards, die text-kodierung auf utf-8 gestellt. das projekt in utf8 modus begonnen und auch mit dem pspad-editor nachgecheckt, ob die pb-datei auch in utf8 vorliegt. das tut es.

ich kann aber in der pb-umgebung die türkischen sonderzeichen im quellcode nicht eintippen.

gebe ich beispielsweise dieses S mit dem unterhaken an, so erscheint einfach nur ein normales S. beim C mit dem unterhaken nur ein einfaches C. beim G mit dem dach nur ein einfaches G.

darüber hinaus muss das programm in utf8 vorliegende textdateien einlesen, wo ebenfalls die besagten sonderzeichen liegen. ich muss zumindest eine solche datei, das einstellungen für die oberfläche hat, durcharbeiten und darin teilweise zeichenketten auswerten. dazu muss ich jedes zeichen durchgehen. in einem Select-Statement kann ich auf die besagten türkischen buchstaben ebenfalls nicht reagieren, beschränkt in form von chr($350) etc... die unicode zeichennummern habe ich von hier: http://unicode.e-workers.de/tuerkisch.php und von hier in hex konvertiert: http://www.arndt-bruenner.de/mathe/scri ... ysteme.htm.

chr() klappt mit Öö Üü Ç ç. aber nicht mit: Ş ş Ğ ğ İ ı

wie kann ich das problem lösen?

mfg
kurt

Re: utf8

Verfasst: 18.03.2011 09:41
von DarkDragon
Chr/Asc ist nur für ASCII. Schreibe dir am besten eigene Stringfunktionen und lade die Texte während der Laufzeit aus einem Sprachkatalog.

Re: utf8

Verfasst: 18.03.2011 12:09
von STARGÅTE
@DarkDragon,
Quatsch!

Chr/Asc sind komplett für Unicode, man muss nur die Datei auf UTF8 stellen und den Compiler auf Unicode !

Code: Alles auswählen

Debug Asc("Ğ")
286

Re: utf8

Verfasst: 18.03.2011 13:09
von helpy
Wenn man die Zeichen nicht im Editor eingeben kann, könnte das auch an der gewählten Schriftart liegen! Wenn der Font die Zeichen nicht unterstützt, dann kann der Editor diese auch nicht anzeigen.

Also: Font überprüfen und evt. einen anderen Editor-Font auswählen.

Re: utf8

Verfasst: 18.03.2011 13:53
von STARGÅTE
Habs eben probiert, wenn der Editor UTF8 hat kann man auch Zeichen hineinfügen die der Zeichensatz selbst nicht hat, da komt dann halt so n Rechteck aber das Zeichen ist "da", und Asc() gibt auch dann die richtige nummer aus, nur sieht man es halt nicht.

In den meisten Fällen sollte Courier New ausreichend sein für Unicode-Sonderzeichen.
Ansonsten muss man sich halt eine Unicode Font suchen (Lucida Sans Unicode oder Arial Unicode MS sind allerdings nicht Mono-Space)

Re: utf8

Verfasst: 18.03.2011 18:12
von delikanli_19_82
danke leute, euro tipps waren hilfreich. funkt jetzt prima.

mfg

kurt