Any consideration of converting the accented character to an unaccented
character first?
Not perfect but it works 99% of the time....and then when you export the name
to another company
All they get are unaccented letters.
George
SUBROUTINE REMOVE.ACCENT(INDATA,OUTDATA)
*
UAE=CHAR(140):CHAR(198)
LAE=CHAR(156):CHAR(230)
DEGREE=CHAR(176)
*
NULL1=CHAR(128):CHAR(129):CHAR(130):CHAR(131):CHAR(132):CHAR(133):CHAR(134):CHAR(135):CHAR(136):CHAR(137)
NULL2=CHAR(139):CHAR(141):CHAR(143):CHAR(144):CHAR(145):CHAR(146):CHAR(147):CHAR(148):CHAR(149):CHAR(150)
NULL3=CHAR(151):CHAR(152):CHAR(153):CHAR(155):CHAR(157):CHAR(160):CHAR(161):CHAR(162):CHAR(163):CHAR(164)
NULL4=CHAR(165):CHAR(166):CHAR(167):CHAR(168):CHAR(169):CHAR(171):CHAR(172):CHAR(173):CHAR(174):CHAR(175)
NULL5=CHAR(177):CHAR(178):CHAR(179):CHAR(180):CHAR(181):CHAR(182):CHAR(183):CHAR(184):CHAR(185):CHAR(187)
NULL6=CHAR(188):CHAR(189):CHAR(190):CHAR(191)
NULLX=CHAR(186):CHAR(216):CHAR(222):CHAR(240):CHAR(247):CHAR(248)
*
UPA=CHAR(192):CHAR(193):CHAR(194):CHAR(195):CHAR(196):CHAR(197)
LWA=CHAR(224):CHAR(225):CHAR(226):CHAR(227):CHAR(228):CHAR(229)
RUA=STR('A',LEN(UPA))
RLA=STR('a',LEN(LWA))
UPE=CHAR(200):CHAR(201):CHAR(202):CHAR(203)
LWE=CHAR(232):CHAR(233):CHAR(234):CHAR(235)
RUE=STR('E',LEN(UPE))
RLE=STR('e',LEN(LWE))
UPI=CHAR(204):CHAR(205):CHAR(206):CHAR(207)
LWI=CHAR(236):CHAR(237):CHAR(238):CHAR(239)
RUI=STR('I',LEN(UPI))
RLI=STR('i',LEN(LWI))
UPO=CHAR(210):CHAR(211):CHAR(212):CHAR(213):CHAR(214)
LWO=CHAR(242):CHAR(243):CHAR(244):CHAR(245):CHAR(246)
RUO=STR('O',LEN(UPO))
RLO=STR('o',LEN(LWO))
UPU=CHAR(217):CHAR(218):CHAR(219):CHAR(220)
LWU=CHAR(249):CHAR(250):CHAR(251):CHAR(252)
RUU=STR('U',LEN(UPU))
RLU=STR('u',LEN(LWU))
SS1=CHAR(138):CHAR(142):CHAR(154):CHAR(158):CHAR(159):CHAR(199):CHAR(208):CHAR(209):CHAR(221):CHAR(223):CHAR(231)
SR1="SZszYCDNYBc"
SS2=CHAR(241):CHAR(253):CHAR(170):CHAR(215)
SR2="nyax"
*
EXPR1=UPA:LWA:UPE:LWE:UPI:LWI:UPO:LWO:UPU:LWU:SS1:SS2
EXPR2=RUA:RLA:RUE:RLE:RUI:RLI:RUO:RLO:RUU:RLU:SR1:SR2
NULCHARS=NULL1:NULL2:NULL3:NULL4:NULL5:NULL6:NULLX:DEGREE
*
LIN=INDATA
*
LIN=CHANGE(LIN,CHAR(223),"SS")
CONVERT EXPR1 TO EXPR2 IN LIN
CONVERT NULCHARS TO "" IN LIN
LIN=CHANGE(LIN,CHAR(230),"AE")
LIN=CHANGE(LIN,UAE,"AE")
LIN=CHANGE(LIN,LAE,"ae")
*
OUTDATA=LIN
RETURN
STOP
END
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Bob Little
Sent: Monday, November 25, 2013 3:10 PM
To: U2 Users List [[email protected]]
Subject: [U2] Working with accented characters
To convert the first character of a regular ASCII string to uppercase, I'd use
OCONV("STRING",'MCT') so that "STRING" is output as "String". However, this
doesn't seem to work for Spanish accented characters. The machine is UV
11.1.11 with NLS enabled.
What is the most elegant way to convert a name, such as JOSÉ to José ? I'm not
a sys admin, so if it requires setting up an NLS map or something along those
lines, I'm probably out of luck.
bob little
applications architect
independent contractor
market america, inc.
1302 pleasant ridge rd.
greensboro, nc 27409
Phone: 336-698-4367
Cell: 248-675-5515
Skype: boblittle904
_______________________________________________
U2-Users mailing list
[email protected]
http://listserver.u2ug.org/mailman/listinfo/u2-users
_______________________________________________
U2-Users mailing list
[email protected]
http://listserver.u2ug.org/mailman/listinfo/u2-users