1) 将现有的 html 文件集(比如 api) 制作成chm 文档
http://www.blogjava.net/lishunli/archive/2010/01/07/308618.html
我建议 使用 javadoc2chm ,看上去最简单,网盘里面有下载包 https://pan.baidu.com/s/1kUcHj3T
2) 制作一个 新的 chm 文档
【下载】首先您需要下载一个制作CHM的软件。
i) Easy CHM 下载地址如下:http://pan.baidu.com/s/1jI8iL18(已注册,绿色版)
ii) WinChm Pro
3) 中文乱码的解决方案
CHM文件单个页面显示为乱码,但通过查看也页面源代码,页面HTML代码能正常显示文本。解决步骤如下:
1、在WIN7系统中,运行regedit.exe注册表管理器,找到注册表项:
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\International
2、若发现无AutoDetect项目,则建立一DWORD(32-位值)项,并设置值为1
3、设置完后,重新打开CHM文件,能正常显示。
CHM乱码解决
经常碰到一些 CHM 格式的帮助文档出现乱码无法阅读的情况,而且 CHM 文档不像浏览器一样,右键可以选择字符编码,非常不便。究其原因,主要就是 CHM 文档在页面中没有指定合适的字符编码所致。
CHM 的实质是 HTML 文件。一般情况下没有指定字符编码的 CHM 是调用 Internet Explorer 浏览器的字符编码设定来显示 CHM 文件的。
在注册表 HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\International 下有 AutoDetect 和 Default_CodePage 2个键名,就是 IE 浏览器字符编码的相关设定键。 其中:AutoDetect 是表示自动侦测字符编码的意思。同 IE 浏览器“查看”菜单的“编码”中的“自动选择”。键值设置1,表示启用自动侦测。一般的,简体中文的操作系统,IE 浏览器就会使用 GB2312 去显示那些没有指定字符编码的页面。如果 AutoDetect 设置为0,那浏览器会去使用 Default_CodePage 的设定来显示页面。 因此,我们在简体中文的操作系统上打开简体中文的 CHM 文档出现乱码时,把 AutoDetect 设置为1就能正常显示;在简体中文的操作系统上打开繁体中文的 CHM 文档出现乱码时,先把 AutoDetect 设置为0,然后把 Default_CodePage 设置为 BIG5 的代码页 950 即可。
CHM 的实质是 HTML 文件。一般情况下没有指定字符编码的 CHM 是调用 Internet Explorer 浏览器的字符编码设定来显示 CHM 文件的。
在注册表 HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\International 下有 AutoDetect 和 Default_CodePage 2个键名,就是 IE 浏览器字符编码的相关设定键。 其中:AutoDetect 是表示自动侦测字符编码的意思。同 IE 浏览器“查看”菜单的“编码”中的“自动选择”。键值设置1,表示启用自动侦测。一般的,简体中文的操作系统,IE 浏览器就会使用 GB2312 去显示那些没有指定字符编码的页面。如果 AutoDetect 设置为0,那浏览器会去使用 Default_CodePage 的设定来显示页面。 因此,我们在简体中文的操作系统上打开简体中文的 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