On 5/18/05, angie ahl <[EMAIL PROTECTED]> wrote: > I can confirm that it's happening before the data's gone to the > database or anything. > > I'm getting the params from CGI.pm and then decoding via decode("utf8", $v) > > The page the params came from is set as utf-8 in the http header and > content type and firefox is believing the page is utf-8. > > It looks as though the browser isn't sending the data as UTF-8 unless > it contains text that has to be. As soon as I add a € or some other > character that's utf-8 it comes through fine. > > Checking the params before it's decoded showed the £ as I expected to > see it after if had been decoded leading me to think the form hasn't > been passed as utf-8 . > > Any clues..... anyone? >
That sounds about right. Most (english) browsers default to Latin-1 even when they say they don't. Make sure you have "enctype" set in the opening form tag. If it still doesn't work, you'll need to figure out (or as the client) what the encoding is, and translate it manipulating the layers and/or encodings. But the bottom line is: if you're not putting utf-8 in at some point, you won't get utf-8 out. --jay