diff -ur kdebase-2.2.orig/kpersonalizer/kcountrypage.cpp kdebase-2.2/kpersonalizer/kcountrypage.cpp
--- kdebase-2.2.orig/kpersonalizer/kcountrypage.cpp	Mon Aug  6 08:29:44 2001
+++ kdebase-2.2/kpersonalizer/kcountrypage.cpp	Thu Aug 16 14:18:48 2001
@@ -28,6 +28,7 @@
 #include <kstddirs.h>
 #include <kconfig.h>
 #include <dcopclient.h>
+#include <kcharsets.h>
 
 #include "klanguagebutton.h"
 #include "klocaleadv.h"
@@ -76,6 +77,9 @@
       country = "C";
   }
 
+  QString chset = config->readEntry(QString::fromLatin1("Charset"));
+  chset = chset.lower();
+
   KSimpleConfig ent(locate("locale",
                QString::fromLatin1("l10n/%1/entry.desktop")
                .arg(country)), true);
@@ -85,6 +89,7 @@
 
   loadCountryList(cb_country);
   loadLanguageList(cb_language, langs);
+  loadCharsetList(cb_charset);
 
   QString compare = lang;
   if(lang.isEmpty())
@@ -133,6 +138,16 @@
     }
   }
 
+  // Highlight the users's charset
+  for(int i = 0; i < cb_charset->count(); i++)
+  {
+    if(cb_charset->tag(i).contains(chset))
+    {
+	cb_charset->setCurrentItem(i);
+	locale->setChset(cb_charset->tag(i));
+    }
+  }
+
   languageSet = true;
 
 }
@@ -259,13 +274,14 @@
 }
 
 /** No descriptions */
-void KCountryPage::save(KLanguageButton *comboCountry, KLanguageButton *comboLang){
+void KCountryPage::save(KLanguageButton *comboCountry, KLanguageButton *comboLang, KLanguageButton *comboCharset){
   kdDebug() << "KCountryPage::save()" << endl;
   KConfigBase *config = KGlobal::config();
 
   config->setGroup(QString::fromLatin1("Locale"));
   config->writeEntry(QString::fromLatin1("Country"), comboCountry->currentTag(), true, true);
   config->writeEntry(QString::fromLatin1("Language"), comboLang->currentTag(), true, true);
+  config->writeEntry(QString::fromLatin1("Charset"), comboCharset->currentTag(), true, true);
   config->sync();
    // Tell kdesktop about the new language
   QCString replyType; QByteArray replyData;
@@ -310,4 +326,12 @@
   cb_language->setCurrentItem(lang);
 }
 
+void KCountryPage::loadCharsetList(KLanguageButton *combo)
+{
+    QStringList list = KGlobal::charsets()->availableCharsetNames();
+    for ( QStringList::Iterator it = list.begin(); it != list.end(); ++it )
+       combo->insertItem(*it, *it);
+}
+
 #include "kcountrypage.moc"
+
diff -ur kdebase-2.2.orig/kpersonalizer/kcountrypage.h kdebase-2.2/kpersonalizer/kcountrypage.h
--- kdebase-2.2.orig/kpersonalizer/kcountrypage.h	Sun Jul 29 13:56:44 2001
+++ kdebase-2.2/kpersonalizer/kcountrypage.h	Thu Aug 16 14:12:39 2001
@@ -36,8 +36,9 @@
 
     void loadCountryList(KLanguageButton *combo);
     void loadLanguageList(KLanguageButton *combo, const QStringList &first);
+    void loadCharsetList(KLanguageButton *combo);
     /** No descriptions */
-    void save(KLanguageButton *comboCountry, KLanguageButton *comboLang);
+    void save(KLanguageButton *comboCountry, KLanguageButton *comboLang, KLanguageButton *comboCharset);
 
     KLocaleAdvanced *locale;
 
diff -ur kdebase-2.2.orig/kpersonalizer/kcountrypagedlg.ui kdebase-2.2/kpersonalizer/kcountrypagedlg.ui
--- kdebase-2.2.orig/kpersonalizer/kcountrypagedlg.ui	Sun Jul 29 13:56:44 2001
+++ kdebase-2.2/kpersonalizer/kcountrypagedlg.ui	Thu Aug 16 13:56:47 2001
@@ -28,76 +28,6 @@
             <name>spacing</name>
             <number>6</number>
         </property>
-        <widget row="6"  column="1" >
-            <class>QLayoutWidget</class>
-            <property stdset="1">
-                <name>name</name>
-                <cstring>Layout6</cstring>
-            </property>
-            <hbox>
-                <property stdset="1">
-                    <name>margin</name>
-                    <number>0</number>
-                </property>
-                <property stdset="1">
-                    <name>spacing</name>
-                    <number>6</number>
-                </property>
-                <widget>
-                    <class>KLanguageButton</class>
-                    <property stdset="1">
-                        <name>name</name>
-                        <cstring>cb_language</cstring>
-                    </property>
-                    <property stdset="1">
-                        <name>sizePolicy</name>
-                        <sizepolicy>
-                            <hsizetype>1</hsizetype>
-                            <vsizetype>0</vsizetype>
-                        </sizepolicy>
-                    </property>
-                    <property stdset="1">
-                        <name>minimumSize</name>
-                        <size>
-                            <width>150</width>
-                            <height>0</height>
-                        </size>
-                    </property>
-                </widget>
-                <spacer>
-                    <property>
-                        <name>name</name>
-                        <cstring>Spacer6_2_2</cstring>
-                    </property>
-                    <property stdset="1">
-                        <name>orientation</name>
-                        <enum>Horizontal</enum>
-                    </property>
-                    <property stdset="1">
-                        <name>sizeType</name>
-                        <enum>Preferred</enum>
-                    </property>
-                    <property>
-                        <name>sizeHint</name>
-                        <size>
-                            <width>20</width>
-                            <height>20</height>
-                        </size>
-                    </property>
-                </spacer>
-            </hbox>
-        </widget>
-        <widget row="5"  column="1" >
-            <class>QLabel</class>
-            <property stdset="1">
-                <name>name</name>
-                <cstring>TextLabel10_2</cstring>
-            </property>
-            <property stdset="1">
-                <name>text</name>
-                <string>Please choose your language:</string>
-            </property>
-        </widget>
         <widget row="1"  column="1" >
             <class>QLabel</class>
             <property stdset="1">
@@ -205,7 +135,7 @@
                 <string>Please choose your country:</string>
             </property>
         </widget>
-        <widget row="0"  column="0"  rowspan="9"  colspan="1" >
+        <widget row="0"  column="0"  rowspan="11"  colspan="1" >
             <class>QLabel</class>
             <property stdset="1">
                 <name>name</name>
@@ -263,7 +193,7 @@
                 </size>
             </property>
         </spacer>
-        <widget row="8"  column="1" >
+        <widget row="10"  column="1" >
             <class>QCheckBox</class>
             <property stdset="1">
                 <name>name</name>
@@ -285,7 +215,7 @@
                 <string>This allowes visually impaired people to use the personalizer</string>
             </property>
         </widget>
-        <spacer row="7"  column="1" >
+        <spacer row="9"  column="1" >
             <property>
                 <name>name</name>
                 <cstring>Spacer5</cstring>
@@ -306,6 +236,146 @@
                 </size>
             </property>
         </spacer>
+        <widget row="5"  column="1" >
+            <class>QLabel</class>
+            <property stdset="1">
+                <name>name</name>
+                <cstring>TextLabel10_2</cstring>
+            </property>
+            <property stdset="1">
+                <name>text</name>
+                <string>Please choose your language:</string>
+            </property>
+        </widget>
+        <widget row="6"  column="1" >
+            <class>QLayoutWidget</class>
+            <property stdset="1">
+                <name>name</name>
+                <cstring>Layout6</cstring>
+            </property>
+            <hbox>
+                <property stdset="1">
+                    <name>margin</name>
+                    <number>0</number>
+                </property>
+                <property stdset="1">
+                    <name>spacing</name>
+                    <number>6</number>
+                </property>
+                <widget>
+                    <class>KLanguageButton</class>
+                    <property stdset="1">
+                        <name>name</name>
+                        <cstring>cb_language</cstring>
+                    </property>
+                    <property stdset="1">
+                        <name>sizePolicy</name>
+                        <sizepolicy>
+                            <hsizetype>1</hsizetype>
+                            <vsizetype>0</vsizetype>
+                        </sizepolicy>
+                    </property>
+                    <property stdset="1">
+                        <name>minimumSize</name>
+                        <size>
+                            <width>150</width>
+                            <height>0</height>
+                        </size>
+                    </property>
+                </widget>
+                <spacer>
+                    <property>
+                        <name>name</name>
+                        <cstring>Spacer6_2_2</cstring>
+                    </property>
+                    <property stdset="1">
+                        <name>orientation</name>
+                        <enum>Horizontal</enum>
+                    </property>
+                    <property stdset="1">
+                        <name>sizeType</name>
+                        <enum>Preferred</enum>
+                    </property>
+                    <property>
+                        <name>sizeHint</name>
+                        <size>
+                            <width>20</width>
+                            <height>20</height>
+                        </size>
+                    </property>
+                </spacer>
+            </hbox>
+        </widget>
+        <widget row="8"  column="1" >
+            <class>QLayoutWidget</class>
+            <property stdset="1">
+                <name>name</name>
+                <cstring>Layout6_3</cstring>
+            </property>
+            <hbox>
+                <property stdset="1">
+                    <name>margin</name>
+                    <number>0</number>
+                </property>
+                <property stdset="1">
+                    <name>spacing</name>
+                    <number>6</number>
+                </property>
+                <widget>
+                    <class>KLanguageButton</class>
+                    <property stdset="1">
+                        <name>name</name>
+                        <cstring>cb_charset</cstring>
+                    </property>
+                    <property stdset="1">
+                        <name>sizePolicy</name>
+                        <sizepolicy>
+                            <hsizetype>1</hsizetype>
+                            <vsizetype>0</vsizetype>
+                        </sizepolicy>
+                    </property>
+                    <property stdset="1">
+                        <name>minimumSize</name>
+                        <size>
+                            <width>150</width>
+                            <height>0</height>
+                        </size>
+                    </property>
+                </widget>
+                <spacer>
+                    <property>
+                        <name>name</name>
+                        <cstring>Spacer6_2_2_2</cstring>
+                    </property>
+                    <property stdset="1">
+                        <name>orientation</name>
+                        <enum>Horizontal</enum>
+                    </property>
+                    <property stdset="1">
+                        <name>sizeType</name>
+                        <enum>Preferred</enum>
+                    </property>
+                    <property>
+                        <name>sizeHint</name>
+                        <size>
+                            <width>20</width>
+                            <height>20</height>
+                        </size>
+                    </property>
+                </spacer>
+            </hbox>
+        </widget>
+        <widget row="7"  column="1" >
+            <class>QLabel</class>
+            <property stdset="1">
+                <name>name</name>
+                <cstring>TextLabel10_2_2</cstring>
+            </property>
+            <property stdset="1">
+                <name>text</name>
+                <string>Please choose your charset:</string>
+            </property>
+        </widget>
     </grid>
 </widget>
 <customwidgets>
diff -ur kdebase-2.2.orig/kpersonalizer/kpersonalizer.cpp kdebase-2.2/kpersonalizer/kpersonalizer.cpp
--- kdebase-2.2.orig/kpersonalizer/kpersonalizer.cpp	Sun Jul 29 13:56:44 2001
+++ kdebase-2.2/kpersonalizer/kpersonalizer.cpp	Thu Aug 16 14:15:55 2001
@@ -88,7 +88,7 @@
 void KPersonalizer::next()
 {
     if(currentPage()==countrypage)
-      countrypage->save(countrypage->cb_country, countrypage->cb_language);
+      countrypage->save(countrypage->cb_country, countrypage->cb_language, countrypage->cb_charset);
     else if(currentPage()==ospage){
       os_dirty=true;  // set the dirty flag, changes done that need reverting
       ospage->save();
