Why is it that when I use Firefox to enter: 漢, the GET will transform to:
q=%E6%BC%A2&start=0
However, when I use IE8 and I type the same chinese character, the GET is:
q=?&start=0
It turns it into a question mark.
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
Mark the encoding of the page as UTF-8 and this problem will go away. Firefox will fail to autodetect your encoding without this hint sometimes, too. And you may have manually changed the encoding in IE once, so that becomes the new default for unmarked pages.
put this in your
<HEAD>:If your content isn’t really in UTF-8, then you’ll need to use an alternate method. There’s an html attribute on FORM that hints to IE that you want non-ANSI codepage characters to be sent as UTF-8, but it’s far nicer to just use the correct content type.
Also, the address bar may not be the best place to look at the resulting text, as the last time I checked, it didn’t reliably work with non-ACP characters. Make sure you’re looking at the actual request data.
If you’re talking about entering text into the address bar or search box in the browser, and not a specific web page, I don’t reproduce this problem on English Windows 7. Perhaps you’re using a very old version of Windows and your system ANSI code page does not contain that character; Win95/Win98/WinME would certainly have that problem.
Edited to add:
In IE 8, entering the character you specified on a page containing this content works exactly as expected for me. I’ve verified this with Fiddler. Whatever problem you are having is probably different than what you have described so far.
You actually don’t need the accept-charset unless you are using an alternate encoding for the page itself. But I am leaving it in for illustrative purposes. For it to be actually useful, at least in earlier versions of IE (things may have changed; a colleague of mine specified the behavior back in IE5 or so), you need a hidden “
_charset_” field with no value to encourage the browser to mark what charset it actually used, but that’s superfluous in a utf-8 page).