Chinesischen Schriftzeichen in der DB2

biedego

Neuer Benutzer
Beiträge
2
Hallo

ich habe ein Problem mit dem Ablegen von chinesischen Schriftzeichen in der DB2.
Die von mir UTF8 encodeten Zeichen sind über das IBM Data Studio nicht mehr lesbar.
Das bedeutet das ich chinesische Schriftzeichen in die DB2 schreiben und wieder auslesen kann solange ich mein eigenes C-Programm benutze, ich kann aber nicht mit dem IBM Data Studio nachträglich Zeichen bearbeiten.

Ich benutze Embedded SQL für C++ in Windows mit dem Visual Studio 2013.

Ich habe eine Datenbank die auf UTF8 angelegt ist:

DB2 CREATE DATABASE CMPRO AUTOMATIC STORAGE YES ON 'C:\' DBPATH ON 'C:\' USING CODESET UTF-8 TERRITORY DE COLLATE USING IDENTITY_16BIT


DB2 CREATE TABLE STARNET.MYTABLE ( ID INT NOT NULL )
DB2 ALTER TABLE STARNET.MYTABLE ADD DE CHAR(128)
DB2 ALTER TABLE STARNET.MYTABLE ADD CN CHAR(128)

Ich Encode die Schriftzeichen in Windows mit UTF8Encoding und speicher die Daten in die Spallten DE und CN.

Ausgangsdaten auf dem Eingabe-Bildschirm meines C-Programmes:
DE = Hallo World
CN = 你好世界


In der DB2 werden die Zeichen nach dem UTF8Encoding wie folgt abgelegt:
DE = Hallo World
CN = ä½ å¥½ä¸–ç•Œ

Diese Daten lassen sich auch wieder aus der DB2 auslesen und zurück Encoden, auf Bildschirm meines C-Programmes bekomme ich wieder eine korrekte Anzeige:
DE = Hallo World
CN = 你好世界

Mein Problem ist nun das ich die chinesischen Zeichen im IBM Data Studio nicht nacharbeiten kann weil die Zeichen so dargestellt werden: ä½ å¥½ä¸–ç•Œ und nicht so: 你好世界.

Wie muss man in C++ Encoden das auch im IBM Data Studio der chinesische Text in CN mit 你好世界 angezeigt wird.
 
Werbung:
Das ist doch eher ein Problem vom Data Studio und nicht von UTF8 oder verstehe ich was nicht? Kann dein Data Studio eventuell keine Chinesischen Zeichen?
 
Werbung:
Das Data Studio kann Chinesische-Zeichen. Ich kann über das Data-Studio direkt Daten in die Spalte CN eintragen z.B. 你好世界. Die Zeichen werden dann genau so abgespeichert.

Wenn ich das Speichenr über meinen Embedded SQL-Code in C++ mache dann wird aus 你好世界. -> ä½ å¥½ä¸–ç•Œ

Die Frage ist jetzt wenn ich etwas direkt über das Data-Studio eintragen kann und es funktioniert, wie bekomme ich dasselbe über C++ hin.
 
Zurück
Oben