diff --git a/mozilla/content/base/src/nsScriptLoader.cpp b/mozilla/content/base/src/nsScriptLoader.cpp index 0808104d890..cd621de819b 100644 --- a/mozilla/content/base/src/nsScriptLoader.cpp +++ b/mozilla/content/base/src/nsScriptLoader.cpp @@ -691,6 +691,11 @@ nsScriptLoader::OnStreamComplete(nsIStreamLoader* aLoader, NS_ASSERTION(NS_SUCCEEDED(rv), "Could not get document charset!"); + if (characterSet.IsEmpty()) { + // fall back to ISO-8851-1, see bug 118404 + characterSet = NS_LITERAL_STRING("ISO-8859-1"); + } + nsCOMPtr charsetConv = do_GetService(kCharsetConverterManagerCID, &rv); diff --git a/mozilla/content/html/document/src/nsHTMLDocument.cpp b/mozilla/content/html/document/src/nsHTMLDocument.cpp index 38fc1d01706..4135b1f2feb 100644 --- a/mozilla/content/html/document/src/nsHTMLDocument.cpp +++ b/mozilla/content/html/document/src/nsHTMLDocument.cpp @@ -679,11 +679,11 @@ nsHTMLDocument::TryWeakDocTypeDefault(PRInt32& aCharsetSource, if (prefs) { nsXPIDLString defCharset; nsresult rv = prefs->GetLocalizedUnicharPref("intl.charset.default", getter_Copies(defCharset)); - if (NS_SUCCEEDED(rv)) { + if (NS_SUCCEEDED(rv) && !defCharset.IsEmpty()) { aCharset.Assign(defCharset); + aCharsetSource = kCharsetFromWeakDocTypeDefault; } } - aCharsetSource = kCharsetFromWeakDocTypeDefault; return PR_TRUE; }