mutt接受的12306邮件中文全是乱码,不论lynx和w3m都是这样,有没有坛友遇到?

其他中文信件都显示正常,但是12306发的邮件就不行.
我看12306是gbk的,我设成gbk却不行.
不知道有没有朋友遇到,要如何解决?

什么样的乱码?可以对照这张表,检查一下:

此外,您看到的会不会是 HTML 代码?mutt 直接把 HTML 邮件当作纯文本显示了。

怎么设的?

我是用的enconv转码然后elinks显示:

enconv|elinks -force-html -dump -dump-color-mode 1 -eval "set document.css.stylesheet='$HOME/etc/mail.css'" /dev/stdin

应该是口字码这种。确实是用utf-8读gbk

我是用的这个:

text/html; lynx -force_html -assume_charset=euc-cn -display_charset=utf-8 -dump %s; copiousoutput; description=HTML Text

我试一下您的

我发现是12306的邮件的html文件的问题:明明使用GBK编码的,在html文件里却有<meta charset="utf-8">这一行.导致lynx和w3m解析错误.
但是问题来了:我想用perl和sed把这一行去掉,在交给lynx解析,写了如下的mailcap:

text/html; sed 's/<meta[^>]*charset[^>]*>//gi' %s | lynx -force_html -assume_charset=gbk -display_charset=utf-8 -stdin -dump; copiousoutput; description=HTML Text

测试时,我会去掉前面的text/html

sed 's/<meta[^>]*charset[^>]*>//gi' %s | lynx -force_html -assume_charset=gbk -display_charset=utf-8 -stdin -dump; copiousoutput; description=HTML Text

可为什么去掉text/html后,在mutt的邮件浏览里,源代码仍然有<meta charset="utf-8">这一行呢?
sed 's/<meta[^>]*charset[^>]*>//gi' %s确实可以去掉测试文件里的<meta charset="utf-8">行.