由于計算機(jī)中的數(shù)據(jù)都是以二進(jìn)制形式存儲的,因此,當(dāng)傳輸文本時,就會發(fā)生字符和字節(jié)之間的轉(zhuǎn)換。字符與字節(jié)之間的轉(zhuǎn)換是通過查碼表完成的,將字符轉(zhuǎn)換成字節(jié)的過程稱為編碼,將字節(jié)轉(zhuǎn)換成字符的過程稱為解碼,如果編碼和解碼使用的碼表不一致,就會導(dǎo)致亂碼問題。
對于有些解碼錯誤,可以通過修改瀏覽器的解碼方式解決。在瀏覽器中單擊“查看”——“編碼”——utf-8選項,將瀏覽器的編碼方式設(shè)置成UTF-8。由此說明,通過修改瀏覽器的編碼方式可以解決亂碼,但是,這樣的做法顯然能不可取,為此,在HttpServletResponse對象中,提供了兩種解決亂碼的方案,如下:
1、//設(shè)置HttpServletResponse使用utf-8編碼
response.setCharacterEncoding("utf-8");
//通知瀏覽器使用utf-8解碼
response.setHeadre("Content-type","text/html;charset=utf-8");
2、包含第一種方法的兩個功能
responsesetContentType("text/html;charaset=utf-8");
通常情況下,為了使代碼更加簡潔,才用第二種方式。