View Full Version : QSHELL Log mit unlesbaren Zeichen
QSH arbeitet ebenso mit der JOB-CCSID in 1141.
Bei der Ausgabe in eine Datei wird dann die 1141 erstellt.
Ist die Datei bereits vorhanden, wird die CCSID der Datei verwendet.
Ist keine CCSID oder *HEC(65535) angegeben, erfolgt auch keine Codewandlung.
Möchte man die CCSID ändern, so ist das vorher erforderlich.
Ein CHGATR ändert zwar die CCSID, führt aber keine Codewandlung durch.
Vor jedweder Ausgabe kann man per
touch -C 1208 FileName
eine leere Datei mit der korrekten CCSID erstellen.
Andreas_Prouza
10-02-23, 11:32
Wenn man die Daten überhaupt nicht angezeigt bekommt, egal was man für eine CCSID (via CHGATR) setzt, dann stellt sich für mich die Frage was das für Daten sind?
Könnte es verschlüsselte Daten sein, die gar nicht angezeigt werden können?
Ich arbeite fast täglich mit der Bash auf der IBM i und hab da maximal bei Umlauten Probleme ... je nach Konfiguration.
Hallo,
ich bin mit meinem Latein am Ende! Zuletzt habe ich eine neue Logdatei mit
qsh cmd('touch -C1208 /home/Gugler/QSHELL_output')
erstellt und sFTP Übertragung neu aufgerufen! Die UTF-8 CCSID wurde mit WRKLNK bestätigt. Dennoch ist das Fehlerbild wie bisher. Ich würde verstehen wenn beim Passwortscript Daten aus Datensicherheitsgründen unlesbar wären, aber doch nicht bei der Datenübertragung selbst. Hier wäre wie bei der herkömmlichen FTP Übertragung sinnvoll wenn man lesen könnte wie viele Dateien mit welcher Datenrate und Dateigröße übertragen wurden.
Hier noch einmal ein Logsnipped aus der sFTP Übertragung (HEX aus Notebad++):
53 65 74 7a 65 6e 20 50 61 73 73 77 6f 72 74 73 63 72 69 70 74 0d 0a f1 f5 f6 f8 f4 f6 f1 f3 f2 f9 f7 f2 f5 32 30 32 33 2d 30 32 2d 31 33 2d 31 30 2e 30 39 2e 30 39 2e 39 37 33 37 35 36 20 7c 20 44 61 74 65 6e 20 61 6e 20 47 75 67 6c 65 72 73 65 72 76 65 72 20 c3 bc 62 65 72 74 72 61 67 65 6e 0d 0a c3 96 95 95 85 83 a3 85 84 40 a3 96 40 f4 f6 4b f3 f0 4b f6 f0 4b f6 f0 4b 25 a2 86 a3 97 6e 40 94 97 a4 a3 40 61 c6 c6 d7 a4 82 93 89 83 61 d7 c4 c6 c1 a4 a2 87 81 82 85 61 d3 c5 d2 d3 61 c6 e3 d7 61 d3 c5 5c 25 e4 97 93 96 81 84 89 95 87 40 61 c6 c6 d7 a4 82 93 89 83 61 d7 c4 c6 c1 a4 a2 87 81 82 85 61 d3 c5 d2 d3 61 c6 e3 d7 61 d3 c5 f0 f0 f1 f0 f7 f5 4b d7 c4 c6 40 a3 96 40 61 d3 c5 f0 f0 f1 f0 f7 f5 4b d7 c4 c6 25 e4 97 93 96 81 84 89 95 87 40 61 c6 c6 d7 a4 82 93 89 83 61 d7 c4 c6 c1 a4 a2 87 81 82 85 61 d3 c5 d2 d3 61 c6 e3 d7 61 d3 c5 f0 f0 f1 f0 f7 f6 4b d7 c4 c6 40 a3 96 40 61 d3 c5 f0 f0 f1 f0 f7 f6 4b d7 c4 c6 25 e4 97 93 96 81 84 89 95 87 40 61 c6 c6 d7 a4 82 93 89 83 61 d7 c4 c6 c1 a4 a2 87 81 82 85 61 d3 c5 d2 d3 61 c6 e3 d7 61 d3 c5 f0 f0 f1 f8 f7 f5 4b d7 c4 c6 40 a3 96 40 61 d3 c5 f0 f0 f1 f8 f7 f5 4b d7 c4 c6 25 a2 86 a3 97 6e 40 98 a4 89 a3 25 00 00 00 00 04 8b dd 00 b8 8a dd 00 1f 20 81 76 80 8b dd 00 10 0b b1 01 1c 00 00 00 f4 8a dd 00 12 1a 81 76 10 0b b1 01 1c 00 00 00 b0 2c 99 6b 05 00 00 00 9f 0f 24 00 e4 8a dd 00 00 00 00 00 f0 1d a9 01 9f 0f 24 00 b0 2c 99 6b 00 00 00 00 b0 2c 99 6b 00 00 00 00 05 00 00 00 40 8b dd 00 1b 21 81 76 f0 1d a9 01 00 00 00 00 c2 04 73 2f b0 2c 99 6b 05 00 00 00 9f 0f 24 00 00 00 00 00 00 00 00 00 10 04 00 00 ff 0e 69 01 08 8b dd 00 1c 00 00 00 00 00 00 00 00
dazugehöriger Text:
Setzen Passwortscript
ñõöøôöñóòù÷òõ2023-02-13-10.09.09.973756 | Daten an Guglerserver übertragen
Ö••…ƒ£…„@£–@ôöKóðKöðKöð K%¢†£—n@”—¤£@aÆÆ×¤‚“‰ƒa×Ä ÆÁ¤¢‡‚…aÓÅÒÓaÆã×aÓÅ\%ä—“ –„‰•‡@aÆÆ×¤‚“‰ƒa×ÄÆÁ¤ ‡‚…aÓÅÒÓaÆã×aÓÅððñð÷õK×Ä Æ@£–@aÓÅððñð÷õK×ÄÆ%ä—“–„ ‰•‡@aÆÆ×¤‚“‰ƒa×ÄÆÁ¤¢‡ …aÓÅÒÓaÆã×aÓÅððñð÷öK×ÄÆ@£– @aÓÅððñð
Danke
Hermann
Also die nicht lesbaren Daten sehen schon sehr nach EBCDIC aus.
Noch mal die Frage wo die Daten denn herkommen.
Da Windows nun keine CCSID unterstützt mache mal folgendes:
Kopiere die unleserlichen Daten in eine neue Datei ins IFS und mach einen touch -C 1141. Schaue das Ergebnis dann mit WRKLNK oder EDTF an.
Dann weißt du ggf. wo es herkommt.
Die Frage ist dann, wie diese Ausgabe an das Log binär angehängt wird da ja keine Überstzung stattfindet.
Das Wort "übertragen" ist übrigens UTF8 /(1208), dass im Notepad++ mit der richtigen Kodierung (Menü Codierung) auch korrekt angezeigt wird.
Hallo Fuerchau!
Ich habe deine Anweisungen befolgt und eine Datei mit Touch -C1141 ... erstellt und die vorhandenen Daten der Ursprungsdatei in diese Datei übertragen!
Zumindest kann ich jetzt wie du geschrieben hast die Daten korrekt mit WRKLNK oder EDTF korrekt lesen!!
Daten aus WRKLNK:
------------------------------------------------------------------------------
+++ Leistungserklaerungen an Gugler versenden | Benutzer: HERMANN +++
------------------------------------------------------------------------------
2023-02-13-14.03.25.976544 | Kontrolle TCPSVR SERVER(*SSHD)
2023-02-13-14.03.29.216712 | Setzen der Umgebungsvariable QIBM_QSH_CMD_OUTPUT
2023-02-13-14.03.36.321342 | Setzen Passwortscript
xxxxxxxxxxxxx2023-02-13-14.03.39.729261 | Daten an Guglerserver übertragen
Connected to xx.xx.xx.xx .
sftp> mput /FFPublic/PDFAusgabe/LEKL/FTP/LE*
Uploading /FFPublic/PDFAusgabe/LEKL/FTP/LE001075.PDF to /LE001075.PDF
Uploading /FFPublic/PDFAusgabe/LEKL/FTP/LE001076.PDF to /LE001076.PDF
Uploading /FFPublic/PDFAusgabe/LEKL/FTP/LE001875.PDF to /LE001875.PDF
sftp> quit
Aber mit einem PC Editor werden nun ALLE Daten verstümmelt angezeigt egal welche Codierung ich im Notepad++ einstelle!
Hier die Notpad++ Anzeige:
`````````````````````````````````````````````````` `````````````````````````````````````````````````` ``````````````````````````````````````````````````
%NNN@Ó…‰¢£¤•‡¢…™’“…™¤ ‡…•@•@Ǥ‡“…™@¥…™¢… „…•@»@Â…•¤£©…™z@ÈÅÙÔÁÕÕ @NNN
%````````````````````````````````````````````````` `````````````````````````````````````````````````` `````````````````````````````````````````````````` `
%òðòó`ðò`ñó`ñôKðóKòõKù÷öõôô@» @Ò–•£™–““…@ãÃ×âåÙ@âÅÙåÅ ÙM\ââÈÄ]
%òðòó`ðò`ñó`ñôKðóKòùKòñö÷ñò@» @â…£©…•@„…™@䔇…‚¤•‡ ¥™‰‚“…@ØÉÂÔmØâÈmÃÔÄmÖä ã×äã
%òðòó`ðò`ñó`ñôKðóKóöKóòñóôò@» @â…£©…•@×¢¢¦–™£¢ƒ™‰—£
%ñõöøôöñóòù÷òõòðòó`ðò`ñó`ñô KðóKóùK÷òùòöñ@»@Ä£…•@•@Ǥ ‡“…™¢…™¥…™@Ђ…™£™‡ …•
%Ö••…ƒ£…„@£–@ôöKóðKöðKö K%¢†£—n@”—¤£@aÆÆ×¤‚“‰ƒa× ÆÁ¤¢‡‚…aÓÅÒÓaÆã×aÓÅ\%ä— –„‰•‡@aÆÆ×¤‚“‰ƒa×ÄÆÁ¤ ¢‡‚…aÓÅÒÓaÆã×aÓÅððñð÷õK× Æ@£–@aÓÅððñð÷õK×ÄÆ%ä—“–
Ich denk, dass die Lösung schon relativ nahe ist!
Danke
Hermann
Ok, der eine Teil kommt von QSH, der andere Teil wohl von sftp.
Setze die CCSID der Log-Datei vorher einfach auf 1141, da der sftp-Teil wohl nur binär ausgeben kann.
Wenn du das Log nur auf der IBM i benötigst, hast du kein Problem.
Wenn das Log auch für Windows benötigt wird, kannst du per QSH iconv die Datei in eine andere CCSID konvertieren.
Du hast dann halt nur kein UTF8 sondern nur 1252, es sei denn du kannst sftp mit Ausgabeumleitung in eine separate Datei mit 1141 umleiten und anschließend diese an eine 1208Datei anhängen.