-
 Zitat von nico1964
Und vielleicht weiss auch jemand von euch, wie ich dem UTF-8 ein BOM unterjubeln kann.
... per Programm (da könnte vielleicht sogar schon ein Shell Script ausreichen)
D*B
-
 Zitat von BenderD
... per Programm (da könnte vielleicht sogar schon ein Shell Script ausreichen)
D*B
Danke für den Hinweis, würde das ja gerne mit einem Shell Script lösen, da ich aber ein alter COBOL-Programmierer (und das im wahrsten Sinne des Wortes) bin, schaut es mit meinen Shell Script-Kenntnissen nicht so gut aus. Da ich das jedoch für mehrere Dateien brauche, möchte ich nicht unbedingt ein COBOL-Programm schreiben, wo ich IFS-Einlese, das BOM reinpfrimmle und wieder ausgebe.
Andreas
Ein AS/400 Dinosaurier since 1989
-
 Zitat von nico1964
Da ich das jedoch für mehrere Dateien brauche, möchte ich nicht unbedingt ein COBOL-Programm schreiben, wo ich IFS-Einlese, das BOM reinpfrimmle und wieder ausgebe.
... das ist dem Programm doch egal, wie oft es aufgerufen wird, um am Anfang eines Streamfiles ein paar Bits umzuklopfen...
D*B
-
Erzeuge eine IFS-Datei, die nur das BOM enthält.
Per QSH CMD('cp bomdatei quelle ziel') werden diese dann zusammengeführt.
Alternativ geht auch QSH CMD('cat BOMDatei >Ziel; cat Quelle >>Ziel;')
-
ok, du wirst eine Datei mit den 3 Bytes x'EFBBBF' brauchen. Ich habe einfach eine leere Datei als "UTF8_BOM" im IFS gespeichert, sicherheitshalber mit
Code:
CHGATR OBJ('utf8_bom') ATR(*CCSID) VALUE(1208)
auf die UTF-8-CCSID gesetzt.
Die naheliegende Vermutung, einfach die beiden Dateien zusammen in eine neue zu kopieren:
Code:
QSH CMD('cat utf8_bom utf8_text > utf8_test2')
erstellt leider eine gut gemeinte Datei mit CCSID 273, deren Inhalt ich mehr oder weniger lesen kann. Also ein Fehlschlag.
Dann halt auf zweimal:
Code:
QSH CMD('cp utf8_bom utf8_test')
QSH CMD('cat utf8_text > utf8_test')
CHGATR OBJ('utf8_test') ATR(*CCSID) VALUE(1208)
Das Kopieren erstellt zwar eine Datei mit CCSID 819, das scheint aber nicht weiter zu stören, das Endergebnis scheint zu stimmen. Denn meine UTF8_TEXT enthält ein paar UTF-8-Umlaute, die in der fertigen Datei zu lesen sind.
-
 Zitat von AG1965_2
ok, du wirst eine Datei mit den 3 Bytes x'EFBBBF' brauchen. Ich habe einfach eine leere Datei als "UTF8_BOM" im IFS gespeichert, sicherheitshalber mit
Code:
CHGATR OBJ('utf8_bom') ATR(*CCSID) VALUE(1208)
auf die UTF-8-CCSID gesetzt.
Die naheliegende Vermutung, einfach die beiden Dateien zusammen in eine neue zu kopieren:
Code:
QSH CMD('cat utf8_bom utf8_text > utf8_test2')
erstellt leider eine gut gemeinte Datei mit CCSID 273, deren Inhalt ich mehr oder weniger lesen kann. Also ein Fehlschlag.
Dann halt auf zweimal:
Code:
QSH CMD('cp utf8_bom utf8_test')
QSH CMD('cat utf8_text > utf8_test')
CHGATR OBJ('utf8_test') ATR(*CCSID) VALUE(1208)
Das Kopieren erstellt zwar eine Datei mit CCSID 819, das scheint aber nicht weiter zu stören, das Endergebnis scheint zu stimmen. Denn meine UTF8_TEXT enthält ein paar UTF-8-Umlaute, die in der fertigen Datei zu lesen sind.
Nach dem Erstellen von der nur BOM-Datei mit CCSID 1208 und dem anschliessenden Kopieren in der QSHELL, habe ich eine Kopie der BOM-Datei.
Wenn ich dann meine Datei xxxx.txt mit CCSID mit dem 2. QSHELL Befehl dranhänge, habe ich eine UTF-8 ohne BOM.
Was mich des weiteren ein wenig stutzig hierbei macht ist der Umstand, das meinen Datei xxxx.txt eine Größe von 3696 KB hat und die Datei inclusive dem nicht vorhandenen BOM nur 3688.
Ich glaub ich steh am schlauch.
Andreas
Andreas
Ein AS/400 Dinosaurier since 1989
-
Für das Anhängen benötigst du 2 ">":
'cat utf8_text >> utf8_test'
-
Many thanks to Fuerchau und Anton nachdem ich jetzt die >> eingebaut hab, funtkioniert das Tadellos.
Andreas
Ein AS/400 Dinosaurier since 1989
Similar Threads
-
By hs in forum IBM i Hauptforum
Antworten: 9
Letzter Beitrag: 14-02-02, 07:30
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