|
Ok, so what I did is this. 1. Define a variable to hold the double quote character. 2. Replaced all instances of this in my strings from a literal to the variable. 3. Before processing, if the CCSID of the job is 1026 (the only CCSID that it seems the double quite seems to be a problem) I use iConv to convert the variable from the CCSID of the program object to the CCSID of the job. I have someone testing it now. On Tue, 31 May 2005 11:59:09 -0500 Bruce Vining <bvining@xxxxxxxxxx> wrote: > > > > > 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. > > > > -- > 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
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.