jsp、servlet關於中文問題再談
在jsp中,中文亂碼常會讓人心亂如麻。
對於中文處理的常見對策,在網上經常可見的主要是下面2種:
或者:
String Hi="你好";
byte[] tmpbyte=Hi.getBytes("ISO8859_1");
Hi=new String(tmpbyte);
out.print(Hi);
%>
虛擬小龍亭也主要採用了上面2種方法進行了修改,從而變成了1.1版。
透過簡單總結,示例中的中文處理發生於以下幾個地方:
1 在url附帶中文引數,可以直接讀取。
例如:
2 與資料庫有關的各種sql操作
這裡使用的Access沒有發生問題。
3 讀取HTML form表單中遞交的中文值
在jswdk中需要加以編碼,較為簡潔的寫法如:
String name1=new String(request.getParameter("user_id").getBytes("ISO8859_1"));
另外,在jdk1.3的支援下,不需要加入
而在jdk1.2.2下面,即使2種方法同時運用也很不穩定。
而在resin平臺,情況較好。只要在頁面第一行加入:
即可正確處理中文。
如果再加編碼則反而不對。
5 session中包含的中文
在jswdk中,奇怪的是如果從form中讀出的值經過編碼則可正確顯示;
但直接賦予中文值則不行。
resin平臺很好,同上。
6 對於對變數賦中文值後正確顯示中文。
例如以下程式:
String Hi="你好";
byte[] tmpbyte=Hi.getBytes("ISO8859_1");
Hi=new String(tmpbyte);
out.print(Hi);
%>
同樣是jswdk1.0.1,以上的表示方法在jdk1.2.2中沒有問題,但在jdk1.3下卻無法顯示。
resin平臺很好,同上,經過測試,只需要在中補上
而不需要也能正確顯示中文。
體會:
jswdk也許只能用於普通開發,穩定性和其它問題可能不如商業軟體。
由於jdk1.3版效能要好於jdk1.2.2很多倍,並且對中文的支援也較好,所以應該加以採用。
作為免費的商業軟體,resin不僅速度快,穩定,自動編譯,可指出出錯行,可在伺服器端支援使用javascript等,而且,至少我覺得對中文的支援很好。
當然,如果不必做任何處理即可正確顯示中文將是我們所期待的。
另外,相信在unix/linux/solaris下應該沒有這樣的問題。[@more@]
對於中文處理的常見對策,在網上經常可見的主要是下面2種:
或者:
String Hi="你好";
byte[] tmpbyte=Hi.getBytes("ISO8859_1");
Hi=new String(tmpbyte);
out.print(Hi);
%>
虛擬小龍亭也主要採用了上面2種方法進行了修改,從而變成了1.1版。
透過簡單總結,示例中的中文處理發生於以下幾個地方:
1 在url附帶中文引數,可以直接讀取。
例如:
2 與資料庫有關的各種sql操作
這裡使用的Access沒有發生問題。
3 讀取HTML form表單中遞交的中文值
在jswdk中需要加以編碼,較為簡潔的寫法如:
String name1=new String(request.getParameter("user_id").getBytes("ISO8859_1"));
另外,在jdk1.3的支援下,不需要加入
而在jdk1.2.2下面,即使2種方法同時運用也很不穩定。
而在resin平臺,情況較好。只要在頁面第一行加入:
即可正確處理中文。
如果再加編碼則反而不對。
5 session中包含的中文
在jswdk中,奇怪的是如果從form中讀出的值經過編碼則可正確顯示;
但直接賦予中文值則不行。
resin平臺很好,同上。
6 對於對變數賦中文值後正確顯示中文。
例如以下程式:
String Hi="你好";
byte[] tmpbyte=Hi.getBytes("ISO8859_1");
Hi=new String(tmpbyte);
out.print(Hi);
%>
同樣是jswdk1.0.1,以上的表示方法在jdk1.2.2中沒有問題,但在jdk1.3下卻無法顯示。
resin平臺很好,同上,經過測試,只需要在中補上
而不需要也能正確顯示中文。
體會:
jswdk也許只能用於普通開發,穩定性和其它問題可能不如商業軟體。
由於jdk1.3版效能要好於jdk1.2.2很多倍,並且對中文的支援也較好,所以應該加以採用。
作為免費的商業軟體,resin不僅速度快,穩定,自動編譯,可指出出錯行,可在伺服器端支援使用javascript等,而且,至少我覺得對中文的支援很好。
當然,如果不必做任何處理即可正確顯示中文將是我們所期待的。
另外,相信在unix/linux/solaris下應該沒有這樣的問題。[@more@]
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/631872/viewspace-817518/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- javaweb關於jsp、servlet基礎筆記JavaWebJSServlet筆記
- JSP規範、Servlet關係、基礎JSServlet
- 再談量化策略失效的問題
- 談談關於設計資料管理/治理角色的問題
- 關於EL在JSP內呼叫RequestScope內建物件報錯的問題JS物件
- 關於tomcat在idea上的中文編碼問題TomcatIdea
- 關於servlet的理解Servlet
- jsp隱式物件-Servlet物件JS物件Servlet
- jsp進階教程和ServletJSServlet
- 誰再問Servlet的問題,我就親自上門來教學了Servlet
- [20221128]再談防水牆(檢視訪問效能問題).txt
- idea 訪問 jsp 404問題IdeaJS
- 關於Servlet小總結Servlet
- 基於jsp和servlet簡單的java web開發(idea)JSServletJavaWebIdea
- 2020JavaWeb之寶塔安裝tomcat+nginx關於jsp處理問題JavaWebTomcatNginxJS
- Day91.Servlet基本內容① -Servlet、jsp和表示式ServletJS
- Jsp+JavaBean模式,Jsp+Servlet模式,MVC模式介紹JSJavaBean模式ServletMVC
- Jsp和Servlet有什麼區別?JSServlet
- maven中新增Servlet和jsp依賴MavenServletJS
- 關於this指向的問題
- 關於跨域問題跨域
- Tomcat配置jsp亂碼問題TomcatJS
- jsp頁面掛死問題JS
- 關於 maatwebsite/excel 匯出不能識別中文檔名稱的問題WebExcel
- tomact和javaee、jsp、servlet對應的版本MacJavaJSServlet
- jsp+servlet登入註冊頁面JSServlet
- 小米商城專案(JSP+Servlet專案)JSServlet
- 開發基於JSP Servlet JavaBean的網上交易系統(含原始檔)JSServletJavaBean
- 關於盒模型相關的問題模型
- [20191202]關於hugepages相關問題.txt
- 關於 go-micro 相關問題Go
- 關於JQuery操作checkbox問題jQuery
- 關於rem佈局問題REM
- 關於MQTT 使用遇到問題MQQT
- 關於DrawerLayout的小問題
- 關於javascript的this指向問題JavaScript
- 關於並查集問題並查集
- 關於 swoole 除錯問題除錯
- 關於django跨域問題Django跨域