Escape Latin Characters
Posted on
16th Feb 2014 07:03 pm by
admin
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
No comments posted yet
Your Answer:
Login to answer
196
17
Other forums
post to self
Trying to get my form to submit to itself. However I am also trying to use an image for my submit bu
php code generators
All
Whilst enjoying learning a new language i have come accross a number of free code generat
Using insert variable
need a way to inert variable data to mysql database
$acc = "212121212";
$nok =
SQL Injection
In my attempts to protect my database from mySQL injection I have created another problem for myself
How to grab certain words ??
I am working with this API
Returns JSON.
curl http://letsbetrends.com/api/current_trends
Interpret Order
Hello all,
I'm wondering if I have this:
Code: $switch = array(
'one' =>
use an array from 1 class in a second class
I have a class that adds data to an array
Then I have a second class and I need to check if t
Character Set Setup
Whats the best character set to use if you want every character to work, and also how do you make yo
I am stumped
OK. Here is what I am trying to do. I have the conditions set, and if the conditions are met, I want
Remove values in array2 from array1
I have two arrays.
Array 1 is where the array key holds various different numbers. For exampl