1. 注意字符變量情況。由于變量的字符編碼形式較為隱蔽,多次變量間數值的改變和運算可能會引起字符集的改變;在變量與頁面所提交數據的各種操作中,較容易發生不同編碼格式字符進行運算的情況。
2. 注意任何形式的字符讀入與輸出。之所以要提到任何形式,是因為Java應用大多數都是作為網絡應用開發的,所以與其它語言的應用相比,Java應用需要面對網絡世界各種各樣的字符數據交換形式。例如各種表單的數據提交,URL形式的數據讀入,經過加密運算的字符數據交換,網頁控件選擇結果的輸入,控件內容的的顯示(如List控件)等等。
3. 小心使用第三方的組件和應用。由于第三方組件和應用的實現是非透明的,所以一般情況下,我們很難判斷這些組件或驅動的缺省編碼格式是什么,也無法對其進行控制。因此,在使用它們所提供的接口函數進行數據交換的時候要特別注意,如果確實出現中文無法正確處理情況,應首先檢查我們自己的代碼并調整相關代碼以適應這些接口,因為這些組件或者應用基本上不會提供調整編碼機制的接口。必要時,我們可能需要采用其它可替換的組件或者應用。
4. 注意被請求對象所含有的數據輸入與輸出。這是非常隱蔽的一類情況,當我們的應用以對象的方式(例如序列化的對象)進行交互時,如果這個對象內部含有字符數據的處理過程,或者含有某些數據的輸入、輸出,甚至是拋出一段用中文注解的異常,都可能出現中文無法正確顯示等問題。由于這些行為往往被封裝在對象中,所以我們在編寫程序時,很容易忽略這種可能情況。并且這種情況帶有一定的不可預見性,例如我們可能不清楚這個對象會在什么時候拋出什么樣的異常,所以這時我們就需要做一定的測試工作。
文章來源于領測軟件測試網 http://www.kjueaiud.com/