[NEWSboard IBMi Forum]
Seite 2 von 2 Erste 1 2
  1. #13
    Registriert seit
    Sep 2005
    Beiträge
    39
    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

  2. #14
    Registriert seit
    Feb 2001
    Beiträge
    20.307
    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.ä.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #15
    Registriert seit
    Aug 2001
    Beiträge
    2.882
    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
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  4. #16
    Registriert seit
    Sep 2005
    Beiträge
    39

    Thumbs up

    Zitat Zitat von Fuerchau Beitrag anzeigen
    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

  1. Neues Release ArdGate unterstützt Unicode
    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
  •