Charles,

I'm not sure what the problem is, but 1252 is a single byte charset, so it
seems wrong that you are getting multi-byte results.

I don't see any difference in how you are calling CUNLCNV.... I tried our
code with your technique string (we default to LMREC) :

> *showtrtab -s 1047 -t 1252 -q LMER *


00:  00 01 02 03   1A 09 1A 7F   1A 8D 8E 0B   0C 0D 0E 0F
10:  10 11 12 13   9D 0A 08 1A   18 19 1A 8F   1C 1D 1E 1F
20:  80 81 1A 1A   1A 1A 17 1B   1A 1A 1A 1A   1A 05 06 07
30:  90 1A 16 1A   1A 1A 1A 04   1A 1A 1A 1A   14 15 9E 1A
40:  20 A0 E2 E4   E0 E1 E3 E5   E7 F1 A2 2E   3C 28 2B 7C
50:  26 E9 EA EB   E8 ED EE EF   EC DF 21 24   2A 29 3B 5E
60:  2D 2F C2 C4   C0 C1 C3 C5   C7 D1 A6 2C   25 5F 3E 3F
70:  F8 C9 CA CB   C8 CD CE CF   CC 60 3A 23   40 27 3D 22
80:  D8 61 62 63   64 65 66 67   68 69 AB BB   F0 FD FE B1
90:  B0 6A 6B 6C   6D 6E 6F 70   71 72 AA BA   E6 B8 C6 A4
A0:  B5 7E 73 74   75 76 77 78   79 7A A1 BF   D0 5B DE AE
B0:  AC A3 A5 B7   A9 A7 B6 BC   BD BE DD A8   AF 5D B4 D7
C0:  7B 41 42 43   44 45 46 47   48 49 AD F4   F6 F2 F3 F5
D0:  7D 4A 4B 4C   4D 4E 4F 50   51 52 B9 FB   FC F9 FA FF
E0:  5C F7 53 54   55 56 57 58   59 5A B2 D4   D6 D2 D3 D5
F0:  30 31 32 33   34 35 36 37   38 39 B3 DB   DC D9 DA 1A

Could there be something wrong with how your Unicode Services tables are
configured?

Kirk Wolf
Dovetailed Technologies
http://dovetail.com
+1 636.300.0901


On Wed, May 23, 2012 at 3:11 PM, Charles Mills <charl...@mcn.org> wrote:

> > Does it work as you expected for other characters in 1047 whose
> equivalent
> in 1252 have values above x"7F"?
>
> I just put in a broken vertical bar (EBCDIC 6A) and it translated
> (allegedly
> into 1252) as C2A6 rather than the expected A6.
>
> Where are you going with this? You obviously have something in mind.
>
> FWIW, here is more detail on the coding. Here is more of the setup:
>
>    UniConvParms.Src_CCSID    = Parms::XlateFrom;
>    UniConvParms.Targ_CCSID   = Parms::XlateTo;
>
>    UniConvParms.Flag1.Sub_Action      = '\x01';    // Subsitute and
> continue
>    UniConvParms.Flag1.Inv_Handle      = '\x01';    // if invalid handle get
> a new one
>    UniConvParms.Flag1.No_Opt_Buf_Fill = '\x01';    // ???
>    UniConvParms.Flag1.Mal_Action      = '\x01';    // if malformed
> terminate with error
>    UniConvParms.Flag1.RL_Sub_Action   = '\x01';    // ???
>
>    CUNLCNV(&UniConvParms);
>
> I am pretty confident of the values of Parms::XlateFrom and To because I
> have code that displays those same fields
>
>    displayChildren("XLATE", "(%05d %05d '%s')", XlateFrom, XlateTo,
> XlateTechniques);
>
> (it's in the Parms class so the Parms:: is implicit)
>
> and the output is
>
> XLATE      (01047 01252 'LMER')
>
> Charles
> -----Original Message-----
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On
> Behalf
> Of Walt Farrell
> Sent: Wednesday, May 23, 2012 10:19 AM
> To: IBM-MAIN@bama.ua.edu
> Subject: Re: Unicode Services translation question
>
> Does it work as you expected for other characters in 1047 whose equivalent
> in 1252 have values above x"7F"? Or is the not sign the only one that's
> mis-behaving?
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
>

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN

Reply via email to