diff -Nru scim-pinyin-0.5.91.orig/src/scim_pinyin_imengine.cpp scim-pinyin-0.5.91/src/scim_pinyin_imengine.cpp
--- scim-pinyin-0.5.91.orig/src/scim_pinyin_imengine.cpp	2005-08-06 23:31:08.000000000 +0800
+++ scim-pinyin-0.5.91/src/scim_pinyin_imengine.cpp	2009-02-18 00:06:34.000000000 +0800
@@ -706,8 +706,12 @@
         m_sys_phrase_lib = m_pinyin_global->get_sys_phrase_lib ();
         m_user_phrase_lib = m_pinyin_global->get_user_phrase_lib ();
     }
-
-    if (encoding == "GBK" || encoding == "GB2312") {
+    
+    if (encoding == "GBK") {
+        m_simplified = true;
+        m_traditional = true;
+        m_chinese_iconv.set_encoding ("GBK");
+    } else if (encoding == "GB2312") {
         m_simplified = true;
         m_traditional = false;
         m_chinese_iconv.set_encoding ("GB2312");
@@ -930,10 +934,39 @@
 
     m_iconv.set_encoding (encoding);
 
-    if (encoding == "GBK" || encoding == "GB2312") {
-        m_simplified = true;
-        m_traditional = false;
-        m_chinese_iconv.set_encoding ("GB2312");
+    if (encoding == "GBK") {
+        if (m_simplified == false) {
+            if(m_traditional == true){
+                ; //Big5. Big5togbk is not implemented. Set to next available. 
+                m_simplified = true;
+                m_chinese_iconv.set_encoding ("GBK");
+            }else{ // nochinese mode. Should not happen. 
+                m_forward = true;
+                m_chinese_iconv.set_encoding ("");
+            }
+        }else{
+            if( m_traditional == false) //GB2312
+                m_chinese_iconv.set_encoding("GB2312");
+            else m_chinese_iconv.set_encoding ("GBK"); //ALL
+        }
+    } else if (encoding == "GB2312") {
+        if ( m_simplified == false ) {
+            if(m_traditional == true) {
+                ; //partly map big5 to gb2312 is not done. Set to next.
+                m_forward = true;
+                m_chinese_iconv.set_encoding ("");
+            }else{//Should not happen. 
+                m_forward = true;
+                m_chinese_iconv.set_encoding("");
+            }
+        }else{
+            if (m_traditional == true) { //Should not happen. 
+                m_forward = true;
+                m_chinese_iconv.set_encoding ("");
+            }else{
+                m_chinese_iconv.set_encoding ("GB2312");
+            }
+        }
     } else if (encoding == "BIG5" || encoding == "BIG5-HKSCS") {
         m_simplified = false;
         m_traditional = true;
