A: 

I'd use a tool such as FireBug or Charles to evaluate the traffic coming from your PHP script (unless you've already done that). If all is well, check inside of the client code, using alert() statements to see when the incorrect translation happens to confirm your Prototype suspicions.

umop
I have done all of these the alert(t.responseText); within the ajax response you see in the exmaple code is where it messes up the php output is proved fine by database input. If I use htmlspecialchars on server side I can get £ to show up as text and prototype wont mess with it but as soon as I use the text normal prototype likes to change it
Sammaye
if I use encodeURIComponent instead of escape it kinda works. But on php side it puts  infront of the £
Sammaye
It's even stranger since if I dont use and decode or anything then on second poll to the php page prototype will change the unkown symbol to an unicode like string: %uFFFD which is confusing as well
Sammaye
A: 

I decided to rewrite the script in JQuery and it worked just fine. I came close to getting it to work in Prototype using encoding types but it would add a accent before each pound sign which was not good enough.

So now I rewrote it everything works perfect without a clitch.

Sammaye