[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Sep 2005
    Beiträge
    39
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Nachtrag:
    Allerdings kann ich in SQL mir die UCS2-Daten (cast auf CCSID 13488!) mittels der Funktion HEX(Feld) direkt für die ZPL-Sprache aufbereiten lassen.
    ... +
    http://stackoverflow.com/questions/1...on-zpl-printer

    Nehmen wir mal das Beispiel und versuchen eine Zeile zu ergänzen ...


    Code:
    SELECT CAST(XXUNIC as CHAR(50) CCSID 37),                 
    HEX(trim(CAST(XXUNIC as GRAPHIC(50) CCSID 13488))) FROM 
    LIB/FILE WHERE XXUSPR = 'DE'

    Stimmt der Cast so?
    CAST(XXUNIC as GRAPHIC(50) CCSID 13488)) hat selben inhalt wie XXUNIC in der SQL Ansicht


    Text: werden.
    Hex: 00770065007200640065006E002E


    ...
    00770065007200640065006E002E -> _00_77_00_65_00_72_00_64_00_65_00_6E_00_2E


    Code:
    ^XA
    ^LH100,150
    ^CWT,CAL000.FNT
    ^CFT,30,30
    ^CI28
    ^FT0,0^FH^FDTesting 1 2 3^FS
    ^FT0,50^FH^FD_D0_94_D0_BE _D1_81_D0_B2_D0_B8_D0_B4_D0_B0_D0_BD_D0_B8_D1_8F^FS
    ^FT0,100^FH^FD_00_77_00_65_00_72_00_64_00_65_00_6E_00_2E^FS
    ^FT0,150^B3^FDAAA001^FS
    ^XZ

    da kommt nix raus.
    mfg - Drittaccount

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    ich denke mal, wie im Beispiel, je UCS2-zeichen ein leerzeichen dazwischen.
    Ansonsten mal deinen Lieferanten fragen, ob dein Modell das überhaupt unterstützt.
    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. #3
    Registriert seit
    Sep 2005
    Beiträge
    39
    Zitat Zitat von Fuerchau Beitrag anzeigen
    ich denke mal, wie im Beispiel, je UCS2-zeichen ein leerzeichen dazwischen.
    Ansonsten mal deinen Lieferanten fragen, ob dein Modell das überhaupt unterstützt.
    Der Drucker (ZM400 - V.53.17.9Z) unterstützt die Zeichen ...

    Hmm Leerzeichen? Oder den Unterstich?

    Code:
    ^XA
    ^LH100,150
    ^CWT,CAL000.FNT
    ^CFT,30,30
    ^CI28
    ^FT0,0^FH^FDTesting 1 2 3^FS
    ^FT0,50^FH^FD_D0_94_D0_BE _D1_81_D0_B2_D0_B8_D0_B4_D0_B0_D0_BD_D0_B8_D1_8F^FS
    
    ^FT0,100^FH^FD_00_77_00_65_00_72_00_64_00_65_00_6E_00_2E^FS    <----------
    
    ^FT0,150^B3^FDAAA001^FS
    ^XZ
    До свидания

    ... das aus dem Beispiel bekomme ich raus ... nur die eingefügte Zeile wird nicht gedruckt.
    Scheint als ob der CAST/HEX was falsches bringt.
    mfg - Drittaccount

  4. #4
    Registriert seit
    Sep 2005
    Beiträge
    39
    Gerade nochmal getestet ...

    ^FT0,100^FH^FD_00_77_00_65_00_72_00_64_00_65_00_6E _00_2E^FS

    geht nicht, aber folgendes geht:


    ^FT0,100^FH^FD_77_65_72_64_65_6E_2E^FS

    die _00 muss ich wohl noch entfernen ...
    mfg - Drittaccount

  5. #5
    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

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    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

  7. #7
    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
  •