diff --git a/exec/load/newsutil.js b/exec/load/newsutil.js index 7d64087e6bcd67af512dc4bede719aad47cf68ec..091cd049197b73879e59a4edcaed7046ba33c20c 100644 --- a/exec/load/newsutil.js +++ b/exec/load/newsutil.js @@ -7,7 +7,7 @@ require("mailutil.js", 'mail_get_name'); require("smbdefs.js", 'RFC822HEADER'); - + function write_news_header(hdr,writeln) { /* Required header fields */ @@ -67,7 +67,22 @@ function write_news_header(hdr,writeln) } } if(content_type==undefined) { - var charset = hdr.text_charset || (hdr.is_utf8 ? "UTF-8" : "IBM437"); + var charset = hdr.text_charset; + if(!charset) { + if(hdr.is_utf8) + charset = "UTF-8"; + else switch(hdr.ftn_charset) { + case "ASCII 1": + charset = "US-ASCII"; + break; + case "CP866 2": + charset = "KOI8-R"; + break; + default: + charset = "IBM437"; + break; + } + } writeln("Content-Type: text/plain; charset=" + charset); writeln("Content-Transfer-Encoding: 8bit"); }