Important notice

Please note that this blog is discontinued here. All the posts are also coppied to my new blog at http://boris.gomiunik.net.
Important: Due to large amount of comment spam further commenting has been disabled here. If you wish to send me a comment, plase look up the same post on my new blog and leave comment there. Thanks!

8/10/2007

fromURL - translate characters from URL

As mentioned in my previous post, you can pass parameters throught URL between pages. The problem can arise if you have special characters in parameters, like č, ž, š, spaces, etc. If you have the url

http://www.mysite.com/default.aspx?test=12 3

it will change to http://www.mysite.com/default.aspx?test=12%203 - so spacebar is converted to %20. And the function queryString would also get the value of parameter test to be 12%203. To complement the querystring you can use the fromUrl function that I've prepared, to translate these kind of characters:

 

function fromUrl(rezultat) { 
    rezultat = rezultat.replace(/%C4%8D/g,'č')
    rezultat = rezultat.replace(/%C4%8C/g,'Č')
    rezultat = rezultat.replace(/%C5%A1/g,'š')
    rezultat = rezultat.replace(/%C5%A0/g,'Š')
    rezultat = rezultat.replace(/%C5%BE/g,'ž')
    rezultat = rezultat.replace(/%C5%BD/g,'Ž')
    rezultat = rezultat.replace(/%22/g,'"')
    rezultat = rezultat.replace(/%20/g,' ')
    rezultat = rezultat.replace(/%23/g,'#')
    rezultat = rezultat.replace(/%25/g,'%')
 return rezultat
}

In the function above I've used the most common characters that need translation in slovene plus double quotation mark, spacebar, hash and percent sign. You can add more characters, I've prepared a table of characters and codes below. So now using a combination of these two functions

fromUrl(queryString('test')) would return the value 12 3.

Table of codes for URL encoding

Code Character   Code Character
%20 (space)   %C4%B8  ĸ 
%21 !   %C4%B9  Ĺ 
%22 "   %C4%BA  ĺ 
%23 #   %C4%BB  Ļ 
%24 $   %C4%BC  ļ 
%25 %   %C4%BD  Ľ 
%26 &   %C4%BE  ľ 
%27 '   %C4%BF  Ŀ 
%28 (   %C5%80  ŀ 
%29 )   %C5%81  Ł 
%2A *   %C5%82  ł 
%2B +   %C5%83  Ń 
%2C ,   %C5%84  ń 
%2D -   %C5%85  Ņ 
%2E .   %C5%86  ņ 
%2F /   %C5%87  Ň 
%C4%80  Ā    %C5%88  ň 
%C4%81  ā    %C5%89  ʼn 
%C4%82  Ă    %C5%8A  Ŋ 
%C4%83  ă    %C5%8B  ŋ 
%C4%84  Ą    %C5%8C  Ō 
%C4%85  ą    %C5%8D  ō 
%C4%86  Ć    %C5%8E  Ŏ 
%C4%87  ć    %C5%8F  ŏ 
%C4%88  Ĉ    %C5%90  Ő 
%C4%89  ĉ    %C5%91  ő 
%C4%8A  Ċ    %C5%92  Œ 
%C4%8B  ċ    %C5%93  œ 
%C4%8C  Č    %C5%94  Ŕ 
%C4%8D  č    %C5%95  ŕ 
%C4%8E  Ď    %C5%96  Ŗ 
%C4%8F  ď    %C5%97  ŗ 
%C4%90  Đ    %C5%98  Ř 
%C4%91  đ    %C5%99  ř 
%C4%92  Ē    %C5%9A  Ś 
%C4%93  ē    %C5%9B  ś 
%C4%94  Ĕ    %C5%9C  Ŝ 
%C4%95  ĕ    %C5%9D  ŝ 
%C4%96  Ė    %C5%9E  Ş 
%C4%97  ė    %C5%9F  ş 
%C4%98  Ę    %C5%A0  Š 
%C4%99  ę    %C5%A1  š 
%C4%9A  Ě    %C5%A2  Ţ 
%C4%9B  ě    %C5%A3  ţ 
%C4%9C  Ĝ    %C5%A4  Ť 
%C4%9D  ĝ    %C5%A5  ť 
%C4%9E  Ğ    %C5%A6  Ŧ 
%C4%9F  ğ    %C5%A7  ŧ 
%C4%A0  Ġ    %C5%A8  Ũ 
%C4%A1  ġ    %C5%A9  ũ 
%C4%A2  Ģ    %C5%AA  Ū 
%C4%A3  ģ    %C5%AB  ū 
%C4%A4  Ĥ    %C5%AC  Ŭ 
%C4%A5  ĥ    %C5%AD  ŭ 
%C4%A6  Ħ    %C5%AE  Ů 
%C4%A7  ħ    %C5%AF  ů 
%C4%A8  Ĩ    %C5%B0  Ű 
%C4%A9  ĩ    %C5%B1  ű 
%C4%AA  Ī    %C5%B2  Ų 
%C4%AB  ī    %C5%B3  ų 
%C4%AC  Ĭ    %C5%B4  Ŵ 
%C4%AD  ĭ    %C5%B5  ŵ 
%C4%AE  Į    %C5%B6  Ŷ 
%C4%AF  į    %C5%B7  ŷ 
%C4%B0  İ    %C5%B8  Ÿ 
%C4%B1  ı    %C5%B9  Ź 
%C4%B2  IJ    %C5%BA  ź 
%C4%B3  ij    %C5%BB  Ż 
%C4%B4  Ĵ    %C5%BC  ż 
%C4%B5  ĵ    %C5%BD  Ž 
%C4%B6  Ķ    %C5%BE  ž 
%C4%B7  ķ    %C5%BF  ſ 

Technorati tags: , ,

No comments: