CHM 帮助文件乱码不完全解决方案

  经常碰到一些 CHM 格式的帮助文档出现乱码无法阅读的情况,而且 CHM 文档不像浏览器一样,右键可以选择字符编码,非常不便。究其原因,主要就是 CHM 文档在页面中没有指定合适的字符编码所致。
CHM 的实质是 HTML 文件。一般情况下没有指定字符编码的 CHM 是调用 Internet Explorer 浏览器的字符编码设定来显示 CHM 文件的。
  在注册表 HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/International 下有 AutoDetect 和 Default_CodePage 2个键名,就是 IE 浏览器字符编码的相关设定键。

  因此,我们在简体中文的操作系统上打开简体中文的 CHM 文档出现乱码时,把 AutoDetect 设置为1就能正常显示;在简体中文的操作系统上打开繁体中文的 CHM 文档出现乱码时,先把 AutoDetect 设置为0,然后把 Default_CodePage 设置为 BIG5 的代码页 950 即可。
  简体中文Windows常用 ANSI 代码页936,在注册表二进制值是 A8 03 00 00;
  繁体中文Windows常用 ANSI 代码页950,在注册表二进制值是 B6 03 00 00;
  拉丁语系Windows常用 ANSI 代码页1252,在注册表二进制值是 E4 04 00 00。

 

上文是转贴自 http://hagengoo.blogspot.com/2007/04/chm.html

一个正常的chm源代码常常是这样:


有些chm没有 charset 字段,所以就出问题了,比如

我安装的是英文系统

Universal Alphabet (UTF-8) utf-8 65001 E9 FD 00 00

 

附带解决问题的注册表脚本

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/International]

"Default_CodePage"=hex:a8,03,00,00

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值