-
Wenn ich jetzt allerdings die Sprache BG in HEX umwandle kommt folgendes:
043204330440043004340435043D0438
Da kann ich ja nicht die _04 entfernen, weil sonst was anderes rauskommt:
^FT0,050^FH^FD_04_32_04_33_04_40_04_30_04_34_04_35 _04_3D_04_38^FS
^FT0,100^FH^FD_32_33_40_30_34_35_3D_38^FS
Ausgabe je: 23@045=8
Das wäre die richtige Ausgabe:
вградени
^FT0,100^FH^FD_d0_b2_d0_b3_d1_80_d0_b0_d0_b4_d0_b5 _d0_bd_d0_b8^FS
der klappt wie folgt:
Code:
SELECT HEX(trim(CAST(XXUNIC as CHAR(150) CCSID 1208))) FROM LIB/FILE WHERE XXUSPR = 'BG'
Bei DE als Sprache kommt dann 77657264656E2E ohne die 00 dazwischen raus. Scheint also zu passen.
mfg - Drittaccount
-
Das ist ja genau das Problem bei "Misch-CCSID".
UCS2 ist ein 2-Byte-Code, der z.B. von 0000 bis 00FF den westeuropäischen Zeichensatz enthält.
Dein kyrillisch ist dann halt im Bereich 0400 bis 04FF.
Ich vermute mal, der Hexstring für ZPL muss auch als 4-Hexbytes übergeben werden (das Entfernen der 00 würde dann entfallen, also "_XXYY_XXYY...".
Was anderes macht auch keinen Sinn, ähnliche Notationen von Unicodewerten kennt man auch in HTML u.ä.
-
Wo wird denn in Deinem Beispiel festgelegt welche CCSID die Textdatei haben soll? Wenn ich Dein Beispiel ausführe, wird die Textdatei mit CCSID 273 erstellt und der Unicode-Text ist nicht darin enthalten.
Die Character Set Id wird durch den SQLTYPE(DBCLOB_FILE) festgelegt, d.h. auf 13488.
Allerdings funktioniert die automatische Umseztung nicht von CCSID 65535.
Im RPG-Programm müsste dann der Text vor dem Schreiben (SET-Statement) in die entsprechende CCSID konvertiert werden.
Ansonsten kann man immernoch in RPG den Text entsprechend aufbereiten und ohne Konvertierung, als BLOB_FILE ausgeben.
Birgitta
-
Zitat von Fuerchau
Ich vermute mal, der Hexstring für ZPL muss auch als 4-Hexbytes übergeben werden (das Entfernen der 00 würde dann entfallen, also "_XXYY_XXYY...".
Was anderes macht auch keinen Sinn, ähnliche Notationen von Unicodewerten kennt man auch in HTML u.ä.
Der ^FH zpl-Befehl nimmt nur 2-Hexbytes.
Im zpl Spool wird die Sprache mit dem Befehl ^CI28 auf (UTF-8 encoding) gestellt.
Der Cast von 1200 auf 1208 wandelt die 4 Stellen in die benötigten richtigen 2 Stellen um.
Test mit osteuropäischen und asiatischen Sprachen (mit entsprechender Schrift) hat funktioniert.
Vielen Dank nochmal für die Vorschläge und Lösungsansätze!
mfg - Drittaccount
Similar Threads
-
By BenderD in forum NEWSboard Server Software
Antworten: 1
Letzter Beitrag: 05-03-15, 08:53
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks