使用chtmlview显示一个html文件,如果html已经包含字符集,比如charset="gb2312",那么htmlview显示的内容将按照字符集gb2312输出,如果html文件中没有包含字符集,那么htmlview显示的内容将按照ie默认的字符集输出。我的问题是:如果html没有包含字符集,我如何强制chtmlview按照指定的字符集显示。
注意:不要试图通过html已经显示后,通过修改字符集刷新页面完成,比如:
CString strCharSet = _T("UTF-8");
LPDISPATCH pDisp = this->GetHtmlDocument();
if( pDisp )
{
IHTMLDocument2 *pHTMLDoc;
if (SUCCEEDED(pDisp->QueryInterface(IID_IHTMLDocument2, (void**)&pHTMLDoc)))
{
WCHAR wcCharSet[1024];
::ConvertCharToWidechar((LPSTR)(LPCTSTR)strCharSet, wcCharSet, false);

BSTR bstr = SysAllocString(wcCharSet); 
pHTMLDoc->put_charset( bstr );
SysFreeString(bstr); pHTMLDoc->Release(); this->Refresh2(1);
}
pDisp->Release();
}我希望实现类似html包含指定的字符集的显示方式。