-
CCSID
Hallo *all,
habe wieder ein Problem und brauche eure Hilfe.
Ich habe ein Programm in RPGLE erstellt. Im PGM erstelle ich eine Textdatei. Es funktioniert wunderbar.
Jetzt habe ich das Programm an einen Holländer per DDMF übertragen.
Bei NL funktioniert das Programm nicht mehr weil:
zum Bsp.: "" wird als "Ö" dargestellt, "^" - garnicht.
meine und NL CCSID =65535
meine job ccsid =273
NL job ccsid = 37
Frage: was tun?
-
Texte auslagern und aus einer PF, PF-Src, Msgf, Dtaara ,... lesen.
Die kann der Holländer selber pflegen
Robi
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Alle Texte in deinem Programm unterliegen keiner Codewandlung.
Der Code entspricht der CCSID deiner Quelle, falls zur Compilezeit deine CCSID *HEX ist.
Es ist bestimmt schon seit über 20 Jahren so, dass das Thema CCSID immer noch nicht verstanden wird.
-
... Textkonstanten im Programm als Unicode deklarieren und mit %char in normale Alphafelder einstellen.
D*B
-
wenn ich Quellcode mit PDM ansehe sind die sonderzeiche alle umgesetzt.
Jetzt habe ich das Programm (per remote) geändert und alle Zeichen wieder zurückgeändert und es funktioniert.;-0
-
Das was du siehst ist nicht unbedingt das, was tatsächlich passiert.
Steht der Job auf CCSID 65535 (*HEX) wird deine Quelle in dem Code deines Terminals angezeigt, auch wenn die CCSID der SRC-PF ggf. was anderes sagt.
Der Compiler nimmt deine Quelle und verwendet ebenso die aktuelle CCSID des Jobs, wenn diese *HEX, dann ist der Code entsprechend der CCSID der Quelle, der ja wiederum der Code deiner Sitzung ist.
Zur Laufzeit wird dein Code natürlich nur mit einer PF der passenden CCSID funktionieren.
@Dieter
Das mit der Unicode-Variante funktioniert nur, wenn bei der Erfassung der Textkonstanten die CCSID der SRC-PF zum Text passt. Hast du Src-PF auf 273, Job auf *HEX, und Terminal auf 500 hast du auch in diesem Fall wieder Schrott.
Transportierst du die Quelle auf ein anderes System musst du beachten, dass die Quelle entweder
a) in einer SRC-PF mit gleicher CCSID der Quelle landet
b) eine korrekte Codewandlung durchgeführt wird.
Spätestens wenn du auf dem NL-System dann wieder Umwandelst nimmt der Compiler bei *HEX wieder die System-CCSID an und du hast wieder Schrott in der Konstanten.
Ich sags ja immer wieder: Ein System mit QCCSID = *HEX gehört einfach verboten.
-
... die Unicode Const muss ich doch eh in Hex eingeben (u'abcd' , wobei abcd der Hexwert meines Unicode Zeichens ist), das ist erst mal vollkommen invariant gegen alles. Der %char schlägt erst zur Laufzeit zu und da kriege ich das, was mein Job haben will - wo ist da ein Problem?
D*B
-
Nunja, ich habe schon verzweifelt gesucht, wie ich denn Textkonstanten als Unicode ablegen kann.
Diese als Hexwerte abzulegen ist dann aber doch ein wenig kompliziert.
Eine sinnvolle Compilerunterstützung wäre da schon schön.
-
... das würde aber doch wieder dieselben Probleme beim Compile verursachen. Was unter deutscher CCSID funzt, geht mit einer anderen schief - welcher Trottel ist eigentlich ehedem auf die Idee gekommen Zeichen wie # und Co. nicht konsistent zu übersetzen und sich dann noch einen weiteren Trottel zu suchen, der die dann noch in Variablennamen zulässt, oder war das wieder so eine Kantinenwette bei IBM?
D*B
-
Similar Threads
-
By Joe in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 20-09-16, 15:05
-
By ILEMax in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 10-12-14, 14:24
-
By Robi in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 15-08-14, 16:22
-
By Robi in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 25-04-14, 14:16
-
By Liebhoff in forum IBM i Hauptforum
Antworten: 11
Letzter Beitrag: 04-09-02, 09:27
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