|
As *PGMs are made up of *MODULEs, and each *MODULE could be created in a different environment, the CCSID you are really in search of is the CCSID of the *MODULE containing the literal string. In the case of ILE RPG I believe this is the CCSID of your primary input source file (and you will find that the *MODULE CCSID generally is not 65535). Anytime you are working with literal/constant values in your source and the application might be run in differing CCSID environments then you should convert your literal values from your *MODULE/source CCSID to the current job default CCSID. This applies however only to literal values as I would assume any program variables containing character data would already be in the job CCSID (or job default CCSID). So the double quote literals should be converted, but the contents of your 'name' variable would not be. If you had the literal 'Some mixed case constant' in your code you would want to likewise convert this literal. This example does not contain a double quote but does contain lower case latin characters and if you ever run in CCSID 5026 (one of the Japanese CCSIDs) you will find out the hard way that the lower case letters will be interpreted as Katakana -- a definite problem if this lower case for instance is part of an Integrated File System path name... And need I mention the classic $, #, and @ characters? Bruce Vining "Brad Stone" <brad@xxxxxxxxxxx m> To Sent by: Midrange Systems Technical midrange-l-bounce Discussion s@xxxxxxxxxxxx <midrange-l@xxxxxxxxxxxx> cc 05/31/2005 10:37 Subject AM Re: EBCIDC to ASCII table references? Please respond to Midrange Systems Technical Discussion Bruce, Thanks.. that's exactly what I'm doing. But it appears that possibly the issue is with a character literal in the application. In this case it is a double quote. I am guess that in these cases I need to convert these characer literals from the CCSID of the program object (DSPPGM shows 65535, but I don't see any parm for this on the CRTBNDRPG command) to the default CCSID of the job. Next, if this is correct, would I convert the character only, or the entire string that contains the character in question. Example, the character is " The string could be "Joe Smith" (including the quotes). The program does something like this: eval text='"' + %trimr(name) + '"' I found the following note in the invariant character set list: EBCDIC code page 1026 where the quotation mark (") is not at the same code point as it is in the invariant character set. So in this case it may sound like I have to look for a special situation (1026 CCSID) and do the conversion then and only then? But what would be my base CCSID? Thanks! On Tue, 31 May 2005 09:11:28 -0500 Bruce Vining <bvining@xxxxxxxxxx> wrote: > > > > > Brad, > > Forget tables and use the CCSID support found in i5/OS. > > To find an appropriate ASCII CCSID go to the V5R3 > Information Center and > Programming/Globalization/Reference/CCSIDs/Associated > CCSID values will > tell you given an input CCSID what is an appropriate > ASCII/Windows/etc > CCSID. The table used encoding schemes to identify the > type of desired > encoding and these can be found under .../CCSIDs/Encoding > schemes for > CCSIDs. So if you have 1026 and want ISO you would look > for encoding > scheme 4100 and find that the corresponding CCSID is 920. > Alternatively if > you want a Windows code page (encoding scheme 4105) you > might want to use > CCSID 1254. > > And if you would prefer an API to give you this > information see Get Related > Default CCSID (QTQGRDC) under Programming/APIs/APIs by > category/National > Language Support/CDRA APIs > > Bruce Vining > > > > > > "Brad Stone" > > <brad@xxxxxxxxxxx > > m> > To > > Sent by: Midrange Systems > Technical > midrange-l-bounce Discussion > > s@xxxxxxxxxxxx > <midrange-l@xxxxxxxxxxxx> > > cc > > > 05/31/2005 08:21 > Subject > AM EBCIDC to ASCII > table references? > > > > > Please respond to > > Midrange Systems > > Technical > > Discussion > > > > > > > > > > Does anyone know where I may be able to find EBCDIC to > ASCII conversion table referneces (specifically dealing > with code pages)? > > For example, lets say I'm using 1026 (turkish) EBCDIC > code > page on my machine. How would I find the ASCII code page > to use when I am creating IFS data? > > -- > This is the Midrange Systems Technical Discussion > (MIDRANGE-L) mailing list > To post a message email: MIDRANGE-L@xxxxxxxxxxxx > To subscribe, unsubscribe, or change list options, > visit: > http://lists.midrange.com/mailman/listinfo/midrange-l > or email: MIDRANGE-L-request@xxxxxxxxxxxx > Before posting, please take a moment to review the > archives > at http://archive.midrange.com/midrange-l. > > > > -- > This is the Midrange Systems Technical Discussion > (MIDRANGE-L) mailing list > To post a message email: MIDRANGE-L@xxxxxxxxxxxx > To subscribe, unsubscribe, or change list options, > visit: > http://lists.midrange.com/mailman/listinfo/midrange-l > or email: MIDRANGE-L-request@xxxxxxxxxxxx > Before posting, please take a moment to review the > archives > at http://archive.midrange.com/midrange-l. > Bradley V. Stone BVS.Tools www.bvstools.com -- This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/midrange-l or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/midrange-l.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.