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 thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.