--- decoding.cc	2008-05-08 16:34:39.000000000 +0800
+++ decoding.cc.new	2008-05-08 17:28:54.000000000 +0800
@@ -141,6 +141,10 @@
 			else
 				return _("[Cannot decode this header line]");
 			if (decoded.size() > 0) {
+                std::string::size_type loc = charset.find( "gbk", 0 ); //change x-gbk to gbk.
+                if( loc != std::string::npos ) {
+                    charset = "gbk";
+                }
 				utf8 = g_convert (decoded.c_str(), -1, "utf-8",
 								  charset.c_str(), 0,0,0);
 				if (!utf8)
