Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Problem mit Multibyte Zeichen ! (https://www.delphipraxis.net/35437-problem-mit-multibyte-zeichen.html)

elninjo24 7. Dez 2004 09:57


Problem mit Multibyte Zeichen !
 


Hallo Fans,

habe ein Problem mit Multibyte Zeichen.

Eine AS400 Datenbank enthält den Eintrag : 810½

Ich möchte wissen, welchen Code das Zeichen "½" in der Datenbank hat.

Diesen Code möchte ich umwandeln und den Wert als String in eine DBase Tabelle
eintragen.

Wie kann ich vorgehend ?
Ich brech mir hier fast die Finger.

Bitte helft mir ... :wall:

Jasocul 7. Dez 2004 10:07

Re: Problem mit Multibyte Zeichen !
 
Ist mir neu, dass das ein MulitByte-Zeichen ist. Vielleicht verstehe ich die Frage auch falsch.

Unter Windows ist der Zeichen-Code: 0xBD bzw. 0189

elninjo24 7. Dez 2004 10:18

Re: Problem mit Multibyte Zeichen !
 
Genau !

Aber wie ist der Zeichen-Code auf der AS400 ??

Wie kann ich diesen ermitteln ?

Jasocul 7. Dez 2004 10:25

Re: Problem mit Multibyte Zeichen !
 
Da es sich um eine AS400 handelt, liegt dahinter vermutlich eine DB2-Datenbank. Versuch mal mit DB2 und Zeichensatz zu googlen.

elninjo24 7. Dez 2004 10:28

Re: Problem mit Multibyte Zeichen !
 
Also.

Der Code aus der AS400 bzw. der String, den ich erhalte enthält für ½ den
Code $00BD.

Jetzt geht es nur noch darum, einen String zusammenzubauen, den ich
in eine DBase DB einsetzen kann.

Lt. einem Kollegen, soll ich den DOS Code (0171) nehmen. Dieser scheint aber nicht
zu funktionieren.

Jasocul 7. Dez 2004 10:37

Re: Problem mit Multibyte Zeichen !
 
Da der AS400-Code der selbe wie der unter Windows ist (00BD 0xBD), schieße ich jetz mal ins Blaue: Probier mal die Funktion: ANSIToNative, bzw prüfe mal deine Zeichensatz-Einstellungen in der BDE.
Der Tip von deinem Kollegen mag stimmen, falls 171 der ASCII-Code für das Zeichen ist. Habe ich jetzt nicht geprüft. Die Ursache bleibt aber der unterschiedliche Zeichensatz.

elninjo24 7. Dez 2004 10:48

Re: Problem mit Multibyte Zeichen !
 
Was übergebe ich denn als "LOCALE" ??

Jasocul 7. Dez 2004 10:53

Re: Problem mit Multibyte Zeichen !
 
Habe gerade nochmal in der OH nachgesehen. Dort wird gesagt, dass die Funktion nur für die direkte BDE-Aufrufe vorgesehen ist. Also war mein obiger Vorschlag doch nicht so gut.
Benutze mal CharToOEM. Die Funktion erwartet zwei PChar. Steht aber alles in der OH.

elninjo24 7. Dez 2004 11:00

Re: Problem mit Multibyte Zeichen !
 
Ich geb´s langsam auf.

Eigentlich will ich nur string A mit String B verkuppeln.
Wobei String B den ASCII Code enthalten soll.

Wahrscheinlich muss ich den String einfach blind in die
DBase Tabelle reinschreiben, und schauen was dabei rauskommt.

Bis dann
:kotz:

Jasocul 7. Dez 2004 11:02

Re: Problem mit Multibyte Zeichen !
 
Ich bin eigentlich davon ausgegangen, dass du das schon geprüft hast.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:01 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz