I need to escape latin characters in an xml doc. Example: "é" is escaped to "é". I thought I could use the ASCII function, but SELECT ASCII('é') FROM DUAL in Oracle gives me 50089.
I coded this as a quick fix, but I'm sure there's a better way.
FUNCTION escape_latin(p_str IN VARCHAR2) RETURN VARCHAR2 IS
v_str VARCHAR2(3000) := p_str;
BEGIN
v_str := REPLACE(v_str, 'À', 'À');
v_str := REPLACE(v_str, 'Ã', 'Á');
v_str := REPLACE(v_str, 'Â', 'Â');
v_str := REPLACE(v_str, 'Ã', 'Ã');
v_str := REPLACE(v_str, 'Ä', 'Ä');
v_str := REPLACE(v_str, 'Ã…', 'Å');
v_str := REPLACE(v_str, 'Æ', 'Æ');
v_str := REPLACE(v_str, 'Ç', 'Ç');
v_str := REPLACE(v_str, 'È', 'È');
v_str := REPLACE(v_str, 'É', 'É');
v_str := REPLACE(v_str, 'Ê', 'Ê');
v_str := REPLACE(v_str, 'Ë', 'Ë');
v_str := REPLACE(v_str, 'ÃŒ', 'Ì');
v_str := REPLACE(v_str, 'Ã', 'Í');
v_str := REPLACE(v_str, 'ÃŽ', 'Î');
v_str := REPLACE(v_str, 'Ã', 'Ï');
v_str := REPLACE(v_str, 'Ã', 'Ð');
v_str := REPLACE(v_str, 'Ñ', 'Ñ');
v_str := REPLACE(v_str, 'Ã’', 'Ò');
v_str := REPLACE(v_str, 'Ó', 'Ó');
v_str := REPLACE(v_str, 'Ô', 'Ô');
v_str := REPLACE(v_str, 'Õ', 'Õ');
v_str := REPLACE(v_str, 'Ö', 'Ö');
v_str := REPLACE(v_str, '×', '×');
v_str := REPLACE(v_str, 'Ø', 'Ø');
v_str := REPLACE(v_str, 'Ù', 'Ù');
v_str := REPLACE(v_str, 'Ú', 'Ú');
v_str := REPLACE(v_str, 'Û', 'Û');
v_str := REPLACE(v_str, 'Ü', 'Ü');
v_str := REPLACE(v_str, 'Ã', 'Ý');
v_str := REPLACE(v_str, 'Þ', 'Þ');
v_str := REPLACE(v_str, 'ß', 'ß');
v_str := REPLACE(v_str, 'Ã ', 'à');
v_str := REPLACE(v_str, 'á', 'á');
v_str := REPLACE(v_str, 'â', 'â');
v_str := REPLACE(v_str, 'ã', 'ã');
v_str := REPLACE(v_str, 'ä', 'ä');
v_str := REPLACE(v_str, 'Ã¥', 'å');
v_str := REPLACE(v_str, 'æ', 'æ');
v_str := REPLACE(v_str, 'ç', 'ç');
v_str := REPLACE(v_str, 'è', 'è');
v_str := REPLACE(v_str, 'é', 'é');
v_str := REPLACE(v_str, 'ê', 'ê');
v_str := REPLACE(v_str, 'ë', 'ë');
v_str := REPLACE(v_str, 'ì', 'ì');
v_str := REPLACE(v_str, 'Ã', 'í');
v_str := REPLACE(v_str, 'î', 'î');
v_str := REPLACE(v_str, 'ï', 'ï');
v_str := REPLACE(v_str, 'ð', 'ð');
v_str := REPLACE(v_str, 'ñ', 'ñ');
v_str := REPLACE(v_str, 'ò', 'ò');
v_str := REPLACE(v_str, 'ó', 'ó');
v_str := REPLACE(v_str, 'ô', 'ô');
v_str := REPLACE(v_str, 'õ', 'õ');
v_str := REPLACE(v_str, 'ö', 'ö');
v_str := REPLACE(v_str, '÷', '÷');
v_str := REPLACE(v_str, 'ø', 'ø');
v_str := REPLACE(v_str, 'ù', 'ù');
v_str := REPLACE(v_str, 'ú', 'ú');
v_str := REPLACE(v_str, 'û', 'û');
v_str := REPLACE(v_str, 'ü', 'ü');
v_str := REPLACE(v_str, 'ý', 'ý');
v_str := REPLACE(v_str, 'þ', 'þ');
v_str := REPLACE(v_str, 'ÿ', 'ÿ');
RETURN v_str;
END escape_latin;
Is there a built in function I can use to make this cleaner and shorter?
Thanks
System copy error in RUN ABAP REPORT PHASE
Hi,
Reditecting pages based on logic
Newbie here, apologies in advance!I am trying to use the header function to forward one of any number of locations (taken from a db) based on the value of a response param:Quote<?php include
Date help - fetch dates for Mondays between xxx and yyy?
Does anyone know the best way to do this? I have two dates, say:2010-01-26 and 2010-05-30and I want to return the dates of all the Mondays between them:2010-02-012010-02-082010-02-15....etc.Thanks
Displaying a clickable playername
I am going wrong somewhere with the mysql_query, can someone please put me straight?$playername = mysql_query("SELECT * FROM `players` WHERE `playername` LIMIT 1");while($f =
Javascript using window.location seems to lose state
Not sure what forum so let me know if I'm in the wrong place.
Scheduler problems related to execution of a single BLT by many schedules
Hello all,
Need a Timecode Class...
Not a Time Stamp, Time Code. Format is a bit different. HH:MM:SS:FF where FF is Frames. I dont really care if it is a Drop Frame or Non Drop Frame system, it doesnt need to be that accurate. Just
Career Change into SAP
Hai
Sending a hyperlink through mail
HI all,
Hi, explode and strstr.
Hi, I seem to be confused about the strstr function, eg. i have a string like:"a.b.c.d.e.f""a.b.c.d.e"I always want it to split at the second "." from the end, so