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