function decodeUTF(query) {
		var Data = unescape(query);

		var plaintxt = "";
		var i=0;
		var c=c1=c2=0;

		while(i<Data.length)	{
			c = Data.charCodeAt(i);
			// all chars from 0-127 => 1byte
			if (c<128) {
				plaintxt += String.fromCharCode(c);
				i++;
			}
			// all chars from 127 to 2047 => 2byte
			else if((c>191) && (c<224)) {
				c2 = Data.charCodeAt(i+1);
				plaintxt += String.fromCharCode(((c&31)<<6) | (c2&63));
				i+=2;
			}
			// all chars from 2048 to 66536 => 3byte
			else {
				c2 = Data.charCodeAt(i+1); c3 = Data.charCodeAt(i+2);
				plaintxt += String.fromCharCode(((c&15)<<12) | ((c2&63)<<6) | (c3&63));
				i+=3;
			}
		}
		return plaintxt;
	}