diff --git a/src/internfile/myhtmlparse.cpp b/src/internfile/myhtmlparse.cpp index 47f252a1..59d01829 100644 --- a/src/internfile/myhtmlparse.cpp +++ b/src/internfile/myhtmlparse.cpp @@ -391,7 +391,7 @@ MyHtmlParser::opening_tag(const string &tag) p.params.end()) { charset = k->second; if (!samecharset(charset, fromcharset)) { - LOGDEB1(("Doc specified charset '%s' " + LOGDEB1(("Doc http-equiv charset '%s' " "differs from dir deflt '%s'\n", charset.c_str(), fromcharset.c_str())); @@ -401,6 +401,19 @@ MyHtmlParser::opening_tag(const string &tag) } } } + string newcharset; + if (get_parameter(cstr_charset, newcharset)) { + // HTML5 added: + lowercase_term(newcharset); + charset = newcharset; + if (!samecharset(charset, fromcharset)) { + LOGDEB1(("Doc html5 charset '%s' " + "differs from dir deflt '%s'\n", + charset.c_str(), + fromcharset.c_str())); + throw false; + } + } break; } if (tag == "marquee" || tag == "menu" || tag == "multicol")