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