[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE_3_3_BRANCH: kdelibs/khtml
From: David Faure <faure () kde ! org>
Date: 2004-09-11 0:32:35
Message-ID: 20040911003235.379601C67 () office ! kde ! org
[Download RAW message or body]
CVS commit by faure:
Backport change of default encoding, at Antonio's request, and with Dirk's approval
M +5 -0 ChangeLog 1.275.2.1
M +15 -2 khtml_part.cpp 1.1015.2.4
M +2 -1 khtml_part.h 1.262.2.1
M +1 -4 khtml_settings.cc 1.103.2.1
--- kdelibs/khtml/ChangeLog #1.275:1.275.2.1
@@ -1,2 +1,7 @@
+2004-09-11 David Faure <faure@kde.org>
+
+ * khtml_part.cpp (defaultEncoding, encoding, createDecoder):
+ Make default charset latin1 over HTTP, keep default to locale on other protocols.
+
2004-08-05 Germain Garand <germain@ebooksfrance.org>
--- kdelibs/khtml/khtml_part.cpp #1.1015.2.3:1.1015.2.4
@@ -2226,5 +2226,18 @@ QString KHTMLPart::encoding() const
return QString(d->m_decoder->encoding());
- return(settings()->encoding());
+ return defaultEncoding();
+}
+
+QString KHTMLPart::defaultEncoding() const
+{
+ QString encoding = settings()->encoding();
+ if ( !encoding.isEmpty() )
+ return encoding;
+ // HTTP requires the default encoding to be latin1, when neither
+ // the user nor the page requested a particular encoding.
+ if ( url().protocol().startsWith( "http" ) )
+ return "iso-8859-1";
+ else
+ return KGlobal::locale()->encoding();
}
@@ -6391,5 +6404,5 @@ khtml::Decoder *KHTMLPart::createDecoder
dec->setEncoding( d->m_encoding.latin1(), true );
else
- dec->setEncoding( settings()->encoding().latin1(), d->m_haveEncoding );
+ dec->setEncoding( defaultEncoding().latin1(), d->m_haveEncoding );
dec->setAutoDetectLanguage( d->m_autoDetectLanguage );
--- kdelibs/khtml/khtml_part.h #1.262:1.262.2.1
@@ -1552,4 +1552,5 @@ private:
bool isExtendingSelection() const;
khtml::Decoder *createDecoder();
+ QString defaultEncoding() const;
/** @internal
--- kdelibs/khtml/khtml_settings.cc #1.103:1.103.2.1
@@ -323,9 +323,6 @@ void KHTMLSettings::init( KConfig * conf
d->fonts = config->readListEntry( "Fonts" );
- if ( reset || config->hasKey( "DefaultEncoding" ) ) {
+ if ( reset || config->hasKey( "DefaultEncoding" ) )
d->m_encoding = config->readEntry( "DefaultEncoding", "" );
- if ( d->m_encoding.isEmpty() )
- d->m_encoding = KGlobal::locale()->encoding();
- }
if ( reset || config->hasKey( "EnforceDefaultCharset" ) )
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic