[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