IE chooses wrong page encoding

  • Thread starter Thread starter Andrew McDonald
  • Start date Start date
A

Andrew McDonald

Even though Internet Explorer is set to auto-select a page encoding, it often picks the wrong one.
This results in odd symbols appearing on certain pages, usually Euro symbols or circumflex-a's. One
example is http://www.microsoft.com/windows/directx/ where IE selects Western European (Windows)
instead of UTF-8 (forcing this renders the page correctly).

I believe this started happening after a recent IE update, but I don't know which one.

Can anyone help?

Andrew
 
As specified in this article, you may be missing some .nls files or you
registry setting is corrupt.

Pictures Are Not Displayed on Web Sites in Internet Explorer
A Web page may display an image as a red X, or a placeholder may appear in
place of the image.
Covers also this problem: Web page that is encoded for the Western European
(ISO) code page might not display any images:
http://support.microsoft.com/?kbid=283807
--

Try to repair IE some have had success with it.

Henri Leboeuf
Web page: http://www.generation.net/~hleboeuf/index.htm
 
Thanks for the suggestion, but I'm not sure it helps. IE is able to display the page correctly if I
select the correct encoding manually, so it's not the case that it doesn't know how to render such
pages correctly; it just doesn't seem to be choosing the correct encoding when asked to do it
automatically. Just to check, do you have any entries for unicode.nls in that registry key on your
machine? Does your IE correctly choose UTF-8 at http://www.microsoft.com/windows/directx/?

Something that may be important is that this only seems to happen in pages which don't specify an
encoding using a META tag - presumably the server is supposed to be sending the encoding along, but
perhaps this isn't being parsed properly?

Andrew


As specified in this article, you may be missing some .nls files or you
registry setting is corrupt.

Pictures Are Not Displayed on Web Sites in Internet Explorer
A Web page may display an image as a red X, or a placeholder may appear in
place of the image.
Covers also this problem: Web page that is encoded for the Western European
(ISO) code page might not display any images:
http://support.microsoft.com/?kbid=283807
--

Try to repair IE some have had success with it.

Henri Leboeuf

in message
Even though Internet Explorer is set to auto-select a page encoding, it
often picks the wrong one.
This results in odd symbols appearing on certain pages, usually Euro
symbols or circumflex-a's. One
example is http://www.microsoft.com/windows/directx/ where IE selects
Western European (Windows)
instead of UTF-8 (forcing this renders the page correctly).

I believe this started happening after a recent IE update, but I don't
know which one.

Can anyone help?

Andrew
 
Does your IE correctly choose UTF-8 at

Out of curiosity Andrew what result do you get at this site?

< http://www.gemal.dk/browserspy/language.html >

FWIW I have en-us, en-us, en-us

I'm wondering if asking others to test things may be like comparing
apples and oranges if they aren't using the same language choices.
For example, notice in the source of the directx page that locale may
have played a part in the construction of the page (e.g. by the stylesheet).

If you prefer you can get the same information by entering these
three script fragments in your Address bar:

javascript:navigator.browserLanguage
javascript:navigator.systemLanguage
javascript:navigator.userLanguage

Except for systemLanguage I think that you could experiment
by changing these (e.g. in Tools, Options, Language and Control Panel,
Regional Settings.) YNK changing them and then changing them back
might even result in a "fix" or perhaps at least a workaround.

A related factor that I have suggested before is to try an IE Repair
if you can do that. An inferior alternative would be to try re-registering
mlang.dll. The relevant commands (e.g. to be entered in the Run...
window) would be:

rundll32 setupwbv.dll,IE6Maintenance

regsvr32 mlang.dll


HTH

Robert Aldwinckle
 
Thanks for the reply. My browser language is en-us, the other two are en-gb. I can't find out how to
change the browser language; Internet Options merely states "Menus and dialog boxes are currently
displayed in English (United States)". IIRC previous versions of Windows had extra menu & dialogue
languages available on Windows Update but I can't find them there on XP. Removing UK English and
adding US English in the Internet Languages panel doesn't change the detected languages on that
website though, nor fix the problem on the DirectX page. In fact I can remove all entries
completely: does this box only get used if there are multiple languages specified on the site?

Andrew

Does your IE correctly choose UTF-8 at
http://www.microsoft.com/windows/directx/

Out of curiosity Andrew what result do you get at this site?

< http://www.gemal.dk/browserspy/language.html >

FWIW I have en-us, en-us, en-us

I'm wondering if asking others to test things may be like comparing
apples and oranges if they aren't using the same language choices.
For example, notice in the source of the directx page that locale may
have played a part in the construction of the page (e.g. by the stylesheet).

If you prefer you can get the same information by entering these
three script fragments in your Address bar:

javascript:navigator.browserLanguage
javascript:navigator.systemLanguage
javascript:navigator.userLanguage

Except for systemLanguage I think that you could experiment
by changing these (e.g. in Tools, Options, Language and Control Panel,
Regional Settings.) YNK changing them and then changing them back
might even result in a "fix" or perhaps at least a workaround.

A related factor that I have suggested before is to try an IE Repair
if you can do that. An inferior alternative would be to try re-registering
mlang.dll. The relevant commands (e.g. to be entered in the Run...
window) would be:

rundll32 setupwbv.dll,IE6Maintenance

regsvr32 mlang.dll


HTH

Robert Aldwinckle
 
Internet Options merely states "Menus and dialog boxes are currently
displayed in English (United States)".

Hmm... I see that too. More below.

....
does this box only get used if there are multiple languages specified on the site?

No. One example of where it is used is for your search site.
I just pressed Ctrl-e and typed lunch and among the hits
were articles by the Guardian and BBC news. ;)


FWIW I managed to get the same set of Languages
that you have by using the Regional and Language Options Control Panel
applet. Apparently I have the meanings of those variables mixed up.

systemLanguage seems to be set by the Regional Options tab
(I was assuming that that would represent the version of Windows.)
userLanguage seems to be set by the Advanced tab.
browserLanguage apparently is the one for the version of IE at least
(perhaps even the version of Windows?)

< http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/browserlanguage.asp?frame=true >

<quote>
In Internet Explorer 5 and later, however, the <B>browserLanguage</B>
property reflects the language of the operating system regardless of the
installed language version of Internet Explorer.
</quote>

Does that mean that you have an EN-US version of Windows?
Thinking that you would have an EN-GB version was the main
reason I started all this. :)

The same article also informs us
<quote>
This property does not indicate the language or languages
set by the user in Language Preferences, located in the
Internet Options dialog box.
</quote>

That's another surprise for me.

After all my changes the page still shows locale=en-us
Maybe it's hardcoded and not related to our systems?

Did you try re-registering mlang.dll? It doesn't seem to do as much
as I had hoped (as detected by RegMon) but I can't find any other fix
(apart from an IE Repair) which seems as relevant.

Another bit of information which may be relevant. Open About:Blank
and View, Encoding for it. FWIW I have Auto-Select checked
and Unicode (only) greyed on it. (I'm thinking that if you have
something different there it could be another indication of failure
with Auto-Select.)

My only other suggestion would be to ensure that your cache checking
option is set to Every visit... instead of its default of Automatically
(Alt-T,O,Alt-S,E). This is a setting which I usually recommend for
trying to avoid intermittent Red-X symptoms. I don't really see how
it would be related to Auto-Select not working but who knows?

BTW as part of my test to convert to EN-GB I also changed my keyboard
to English (United Kingdom) and discovered that my Right-Alt key
stopped working? Do you happen to know what that key does in that mode?
Not having a Right-Alt would be a real hardship IMO. For example,
it would make that above keystroke sequence (Alt-T...Alt-S...)
much more awkward.


Robert
 
Back
Top