轉換編碼筆記

今天發現一個顯示為亂碼的 html 頁面,發現是當前頁面和 reference 頁面編碼 不一致造成的,reference 編碼為 gbk,當前頁面編碼是 utf8。

雖然各自 head 里的 charset 和其文件存儲的編碼一致,但某些瀏覽器(如Firefox) 從 reference 轉過來時,默認當前頁面的 charset 和 reference 的一致,導致亂碼 顯示。

由于 reference 所使用的編碼是整站的基準編碼,所以把當前頁面的 fileencoding 轉成和 reference 一致即可,不過轉碼時遇到一個問題是,文件中存在特殊字符,無法 由 utf8 正常轉碼為 gbk。

文檔中無法用肉眼看出那些特殊字符,于是備份后使用 notepad 或 editplus 強行轉碼 (注:會丟失那些特殊的字符),然后將轉碼后的文檔和原始備份檔比較,來查找特殊 字符,編輯(刪除無意義的,轉義有用的)保存即可。

注:Vim :set fenc=gbk,可以轉碼,但 :wq! 無法正常保存;UltraEdit 本身的編碼 支持不夠好,不建議用來轉碼。

注2:Vim diff 可以比較出不同,找出特殊字符,但可能無法正常編輯(如刪除)它們, 特殊字符是非常怪異的;BeyondCompare 和 WinMarge 基本可以勝任。

Help
[count]gg 跳转到第 [count] 行,默认第 1 行。
[count]G 跳转到第 [count] 行,默认最后一行。
[count]j 向下跳转 [count] 行,默认跳转一行。
[count]k 向上跳转 [count] 行,默认跳转一行。
/ 开始搜索。按 <Esc> 退出。
gh 跳转到首页。
gb 跳转到博客首页。
gw 跳转到 Wiki 首页。
gt 跳转到我的 Twitter Profile 页。
gp 跳转到我的 Github Profile 页。
? 打开帮助。按 <Esc> 退出。