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 Like 17 Dislike
Previous forums Next forums
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

Sign up to write
Sign up now if you have flare of writing..
Login   |   Register
Follow Us
Indyaspeak @ Facebook Indyaspeak @ Twitter Indyaspeak @ Pinterest RSS



Play Free Quiz and Win Cash