PDA

View Full Version : Euro Zeichen aus IFS Datei UTF8 ersetzen



chrisssiie
13-09-19, 16:49
Hallo,

ich versuche mit sed in einer UTF-8 IFS-Datei das € Zeichen zu ersetzen,
da dies beim Import mit XML-SAX zu einen Fehler führt.

Mit folgendem QSH-Befehl habe ich es versucht:

export QIBM_CCSID=1208
sed -C 1208 's/\xE2\x82\xAC/EUR/g' /testeuro_in.txt > testeuro_out.txt

Leider funktioniert das aber nicht.
Habe es auch anstatt den Hex-Codes schon direkt mit dem € Zeichen probiert,
leider ohne Erfolg.

Gibt es hier evtl. Alternativen, bzw. hat wer eine Idee, was hier das Problem sein könnte?

Fuerchau
13-09-19, 17:18
Voraussetzung ist natürlich, dass die Quelle auf einer CCSID "mit Euro" steht, also z.B. 1141 statt 273.
Dann klappts auch mit der Umwandlung von/nach 1208.
In 273 ist "€" nämlich nicht definiert.

Kommt die TXT aber von Windows, so sollte sie CCSID 1252 habe. Da gibt's das "€" auch wieder.

chrisssiie
13-09-19, 17:24
Die quelldatei im IFS hat die ccsid 1208 und hier soll das € Zeichen ersetzt werden.

Fuerchau
15-09-19, 12:51
Wenn ich den Befehl sehe, so gibst du das €-Zeichen als "url-Encode" und nicht als "UTF8" an.
In UTF8 kommen nämlich nur 2 Zeichen raus, allerdings kenne ich die Hexumsetzung dafür nicht:
"€"
Hier gibts den Online-Konverter:
https://encoder.mattiasgeniar.be/index.php

(https://encoder.mattiasgeniar.be/index.php)Öffne die Datei mal auf der AS/400 mittels EDTF/DSPF und schalte die Hex-Sicht ein.