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