比如在muttrc里面设置 set charset-hook gb2312 gbk 这样子编码声明为gb2312,但包含gbk编码的信件也可以正常显示。 但是如果外部程序引用charset变量时,得到的是hook前的编码,这样子 就不能正常显示了。 例如在muttrc里面设置 auto_view text/html mailcap里面是 text/html; w3m -I %{charset} -T text/html -dump; copiousoutput 这里的%{charset}就是没有hook过的charset。 看了一下代码,的确是没有处理。我自己加一个判断,在输出变量的时候 也hook一下,能够正常显示了。 有没有其他方法呢?如果不修改源代码的话。 Best Regards.