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