-
IFS-APIs mit Umlautproblem
Hallo liebes Forum,
ich nutze die APIs fopen() und fputs() zum erstellen von PC-Dokumenten.
Leider habe ich das Problem, dass die Umlaute(ÄÜÖ) fehlerhaft in diesen Dateien erzeugt werden(Ö = ' ).
Was kann ich machen, um diesen Fehler zu bereinigen???
Mein Code entspricht ca. folgendem Format:
fd = fopen('/myDir/myFile.txt':'a');
callp fputs('Neue Zeile' + X'0D25':fd);
fclose(fd);
-
Du musst im fopen erweiterte Modi zum Konvertieren angeben (ungefähr so):
fopen('/myDir/myFile.txt':'a,ccsid=1252');
http://publib.boulder.ibm.com/infoce...5607.pdf#FOPEN
Die genaue Syntax entnimm bitte dem Handbuch.
-
mit circa Code wirds halt nur circa richtig!
Der Trick ist im Prinzip folgender:
erstes öffnen mit erstellen unter Festlegung CCSID
schließen
neu öffnen mit der Angabe Textdaten
In Code findet man das auf meiner Freeware Seite, wobei man dann auch INSTREAM und OUTSTREAM direkt verwenden könnte.
D*B
 Zitat von skar
Hallo liebes Forum,
ich nutze die APIs fopen() und fputs() zum erstellen von PC-Dokumenten.
Leider habe ich das Problem, dass die Umlaute(ÄÜÖ) fehlerhaft in diesen Dateien erzeugt werden(Ö = ' ).
Was kann ich machen, um diesen Fehler zu bereinigen???
Mein Code entspricht ca. folgendem Format:
fd = fopen('/myDir/myFile.txt':'a');
callp fputs('Neue Zeile' + X'0D25':fd);
fclose(fd);
-
Das merkwürdige ist wenn ich direkt die CCSID angebe, dann kommt absoluter Kauderwelsch heraus.
z.B.
fd = fopen('/myDir/myFile.txt':'a, o_ccsid=850');
or
fd = fopen('/myDir/myFile.txt':'a, ccsid=850');
Wenn ich jedoch die CCSID weglasse, und fopen versucht die CCSID des PC-Datei selber herauszufinden, dann werden nur die Umlaute falsch angezeigt.
Hatte das gleiche Problem im Prinzip als ich das PC-Dokument in EBCDIC erstellte und später mit cpy in PCASCII konvertierte. Da hatte ich versehentlich die Übersetzung in Binär-Modus angegeben. Als ich es jedoch dann in den Textmodus umstellte wurden die Umlaute richtig dargestellt.
-
Auch wenn ich vorher die Datei mit fopen() mit CCSID 850 erstellt hatte.
-
viellecht siehst du dir doch mal den outstream an!!!
open mit createflag und CCSID erstellt die passende Datei
close
erneuter open ohne!!! CCSID und dem Flag für Textdaten sorgt für korrekte Konvertierung
D*B
 Zitat von skar
Auch wenn ich vorher die Datei mit fopen() mit CCSID 850 erstellt hatte.
-
Wie kann man bei fopen() ein Textflag setzen???
-
ich poste doch nicht aus Jux und Dollerei, oder weil mir langweilig ist, in der bereits mehrfach angegebenen Quelle steht das haarklein mit open drin, wenn du das partout mit fopen machen willst, dann gibt es auch noch die C Reference
D*B
 Zitat von skar
Wie kann man bei fopen() ein Textflag setzen???
-
Sorry BenderD,
hatte mich ein wenig falsch ausgedrückt. Bin ja natürlich schon dabei deine Lösung mit open() auszuprobieren. Welche den großen Vorteil bietet mehr Einstellungsmöglichkeiten als fopen() zu besitzen.
Hätte ja sein können, dass du weißt ob man bei fopen() das Textflag setzen könnte. Dann wäre ich eventuell schneller zur Lösung gekommen.
Sorry nochmals, wollte ganz bestimmt nicht ignorant erscheinen :-)
-
Du musst dich entweder für ASCII (850, oder DOS-Welt) oder 1252 ANSI (Windwos) entscheiden.
Da bei 850 wohl die Umlaute falsch sind, muss wohl 1252 sein.
Similar Threads
-
By ChrisX in forum IBM i Hauptforum
Antworten: 9
Letzter Beitrag: 03-12-07, 12:07
-
By eps330 in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 26-11-07, 12:24
-
By kroehn in forum NEWSboard Windows
Antworten: 5
Letzter Beitrag: 08-11-06, 19:36
-
By bode in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 30-10-06, 11:10
-
By jo400 in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 21-10-06, 17:57
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