Resin對(duì)字符的處理
發(fā)表時(shí)間:2024-06-10 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]RESIN在servlet包中返回字符串時(shí)已經(jīng)加了encoding參數(shù),當(dāng)然不要轉(zhuǎn)換,在UNIX下也不要轉(zhuǎn)換,只要<%@page contentTyle=""%>設(shè)字符集中ISO8859-1就一切正常,目前,僅是目前,我所測(cè)試過的JSP容器中只有RESIN是這樣做的...
RESIN在servlet包中返回字符串時(shí)已經(jīng)加了encoding參數(shù),當(dāng)然不要轉(zhuǎn)換,在UNIX下也不要轉(zhuǎn)換,只要<%@page contentTyle=""%>設(shè)字符集中ISO8859-1就一切正常,目前,僅是目前,我所測(cè)試過的JSP容器中只有RESIN是這樣做的,別的都是直接返回new String(byte[] b);所以要轉(zhuǎn)換,計(jì)算機(jī)在處理網(wǎng)絡(luò)數(shù)據(jù)時(shí),根本不管理你是用什么語言,一個(gè)數(shù)據(jù)包就是一組無符號(hào)序列.
在JAVA中都是byte,那么要把byte顯示為人能看懂的字符串,JAVA中有方法就是String的構(gòu)造方法,它會(huì)把byte顯示成你看到字符串,如果不指定編碼就用默認(rèn)的ISO8859,很多JSP容器就是這樣做的:得到了byte后,直接new String(byte[] b);我們只好再把它返回成byte[] 重新處理,還不如直接給一個(gè)方法直接給們?cè)嫉腷yte[]更方便.只有Resin在返回時(shí)先取當(dāng)前系統(tǒng)的字符集,然后把byte[]轉(zhuǎn)換成當(dāng)前系統(tǒng)的字符串.JSP容器應(yīng)該提供一個(gè)byte[] b = request.getParameter("field");