[PATCH] mshtml: When creating new channel default to current locale charset.

Dmitry Timoshkov dmitry at baikal.ru
Tue Jun 23 10:35:22 CDT 2020


Jacek Caban <jacek at codeweavers.com> wrote:

> >> I don't know what's the exact problem you're trying to fix, but we maybe
> >> we don't set it in some case when we should? Looking at Gecko code, I
> >> just noticed that we should try to extract it from content type in
> >> SetContentType(), for example.
> > I have an application that includes many other .html files from its main.html.
> > Main html has the following head:
> >
> > <html lang="ru">
> >          <head>
> >                  <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
> >                  <meta http-equiv="Content-Language" content="ru">
> >          </head>
> >
> > and Wine's mshtml renders this file correctly. Main html includes another
> > file with the following head:
> >
> > <html>
> >          <head>
> >                  <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8"/>
> >                  <meta content="text/html; charset=windows-1251">
> >          </head>
> >
> > and this one renders using wrong locale.
> >
> > According to https://www.w3schools.com/charsets/default.asp both syntaxes
> > are legal and should be supported starting from HTML 4.
> >
> > According to my testing when loading HTML gecko first queries charset from
> > mshtml, it returns "", and then gecko renders page using wrong locale. With
> > my patch gecko gets "windows-1251" and this fixes page rendering.
> >
> > Is this a bug in gecko or mshtml?
> 
> 
> The easiest way to check is it to write a trivial HTML file and try it 
> on IE, Firefox (preferably 47, which is the version Wine Gecko bases on) 
> and Wine iexplore.exe.

It works on IE, I haven't tested with Firefox and Wine's iexplore.exe.

> The <meta> element in the second HTML looks 
> suspicious, it doesn't have http-equiv="Content-Type" attribute. Does it 
> help if you add one?

Yes, it does help.

> Also, is the problem reproducible if you load the 
> subframe as a main frame?

How can I do that?

-- 
Dmitry.



More information about the wine-devel mailing list