最近一個(gè)項(xiàng)目需要考慮多語言的用戶,自然就想采用utf-8編碼,所有JSP頁面都修改完畢,一切運(yùn)行正常,由于一直使用FF來檢測(cè)瀏覽器兼容性,今天不知怎的決定用IE來跑一下,發(fā)現(xiàn)所有表單提交的頁面都提示JS錯(cuò)誤,查了一下,發(fā)現(xiàn)是一個(gè)驗(yàn)證身份證的方法中有一個(gè)數(shù)組的初始化中保存了各個(gè)省市的名字,類似于:var area=['上海','北京']之類的形式。一般情況下,JS錯(cuò)誤我都是在FF中用FireBug調(diào)試的,可偏偏在FF中一切正常,這下就傻眼了,注釋掉這個(gè)語句自然沒問題,可怎么也想不出這么正常的一個(gè)賦值怎么會(huì)弄出個(gè)瀏覽器兼容的問題出來。折騰了一個(gè)下午,突然想到,是不是編碼的問題啊,將這個(gè)JS用utf-8編碼另存,一切ok。
另外,采用utf-8編碼之后,用WinMerge比較文件時(shí),就會(huì)出來Information lost to encoding errors:之類的提示,心想,這個(gè)指定個(gè)編碼就可以了吧。在編輯=>選項(xiàng)中,果然看到代碼頁的指定,如是選擇指定代碼頁,輸入utf-8,點(diǎn)擊確定,被提示請(qǐng)輸入一個(gè)整數(shù),估計(jì)這時(shí)候大多數(shù)人和我一樣傻眼,utf-8的代碼頁是多少?好在有Google,調(diào)整不同的關(guān)鍵字,終于找到清炒苦瓜的一篇文章中提到utf-8的代碼頁是65001,并且也是為了解決WinMerge的亂碼問題,可是改完之后,并沒有起作用,這次沒有去懷疑這個(gè)代碼頁是不是正確,再仔細(xì)看一下那篇文章,嗯,人家明明說用的是2.6.8嘛,檢查一下自己的版本,2.6.0,是不是版本問題呢?來到WinMerge的網(wǎng)站,發(fā)現(xiàn)竟然已經(jīng)是2.6.12了,于是下載最新版本,然后將代碼頁改成65001,嗯,這下所有的中文注釋都乖乖出來了。
另外,采用utf-8編碼之后,用WinMerge比較文件時(shí),就會(huì)出來Information lost to encoding errors:之類的提示,心想,這個(gè)指定個(gè)編碼就可以了吧。在編輯=>選項(xiàng)中,果然看到代碼頁的指定,如是選擇指定代碼頁,輸入utf-8,點(diǎn)擊確定,被提示請(qǐng)輸入一個(gè)整數(shù),估計(jì)這時(shí)候大多數(shù)人和我一樣傻眼,utf-8的代碼頁是多少?好在有Google,調(diào)整不同的關(guān)鍵字,終于找到清炒苦瓜的一篇文章中提到utf-8的代碼頁是65001,并且也是為了解決WinMerge的亂碼問題,可是改完之后,并沒有起作用,這次沒有去懷疑這個(gè)代碼頁是不是正確,再仔細(xì)看一下那篇文章,嗯,人家明明說用的是2.6.8嘛,檢查一下自己的版本,2.6.0,是不是版本問題呢?來到WinMerge的網(wǎng)站,發(fā)現(xiàn)竟然已經(jīng)是2.6.12了,于是下載最新版本,然后將代碼頁改成65001,嗯,這下所有的中文注釋都乖乖出來了。