2005-09-18 [colin] 1.9.14cvs39
[claws.git] / src / procmime.c
index d01dd2433d5f963e4758aca5cd6eb9dacad51b5c..a9f1a4d4887f9ec8002c1f06f33fc531b803ea79 100644 (file)
@@ -1612,10 +1612,16 @@ static void procmime_parse_content_type(const gchar *content_type, MimeInfo *mim
                mimeinfo->type = MIMETYPE_TEXT;
                mimeinfo->subtype = g_strdup("plain");
                if (g_hash_table_lookup(mimeinfo->typeparameters,
-                                      "charset") == NULL)
-                       g_hash_table_insert(mimeinfo->typeparameters,
+                                      "charset") == NULL) {
+                       if (strcmp(conv_get_locale_charset_str(), CS_UTF_8))
+                               g_hash_table_insert(mimeinfo->typeparameters,
                                            g_strdup("charset"),
                                            g_strdup(conv_get_locale_charset_str()));
+                       else
+                               g_hash_table_insert(mimeinfo->typeparameters,
+                                           g_strdup("charset"),
+                                           g_strdup(CS_ISO_8859_1));
+               }
        } else {
                gchar *type, *subtype, *params;
 
@@ -1716,9 +1722,16 @@ int procmime_parse_mimepart(MimeInfo *parent,
                mimeinfo->type = MIMETYPE_TEXT;
                mimeinfo->subtype = g_strdup("plain");
                if (g_hash_table_lookup(mimeinfo->typeparameters,
-                                      "charset") == NULL)
-                       g_hash_table_insert(mimeinfo->typeparameters, g_strdup("charset"), 
-                               g_strdup(conv_get_locale_charset_str()));
+                                      "charset") == NULL) {
+                       if (strcmp(conv_get_locale_charset_str(), CS_UTF_8))
+                               g_hash_table_insert(mimeinfo->typeparameters,
+                                           g_strdup("charset"),
+                                           g_strdup(conv_get_locale_charset_str()));
+                       else
+                               g_hash_table_insert(mimeinfo->typeparameters,
+                                           g_strdup("charset"),
+                                           g_strdup(CS_ISO_8859_1));
+               }
        }
 
        if (content_encoding != NULL) {