JSP動(dòng)態(tài)網(wǎng)頁程序中中文亂碼的解決方法_JSP教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
推薦:JSP教程經(jīng)典入門學(xué)習(xí)資料一、 JSP 技術(shù)概述 在 Sun 正式發(fā)布 JSP(JavaServer Pages) 之后,這種新的 Web 應(yīng)用開發(fā)技術(shù)很快引起了人們的關(guān)注。 JSP 為創(chuàng)建高度動(dòng)態(tài)的 Web 應(yīng)用提供了一個(gè)獨(dú)特的開發(fā)環(huán)境。按照 Sun 的說法, JSP 能夠適應(yīng)市場(chǎng)上包括 Apache WebServer 、 IIS4.0 在內(nèi)的
在jsp中,中文亂碼常會(huì)讓人心亂如麻。對(duì)于
中文處理的常見對(duì)策,在網(wǎng)上經(jīng)常可見的主要是下面2種:
<%@ page
contentType="text/html;charset=gb2312" %>
或者:
<%
String Hi="你好";
byte[]
tmpbyte=Hi.getBytes("ISO8859_1");
Hi=new
String(tmpbyte);
out.print(Hi);
%>
虛擬小龍亭也主要采用了上面2種方法進(jìn)行了修改,從而變成了1.1版。
通過簡單總結(jié),示例中的中文處理發(fā)生于以下幾個(gè)地方:
1 在url附帶中文參數(shù),可以直接讀取。
例如:
<%= request.getParameter("showword")%>
2
與數(shù)據(jù)庫有關(guān)的各種sql操作
這里使用的Access沒有發(fā)生問題。
3 讀取HTML
form表單中遞交的中文值
在jswdk中需要加以編碼,較為簡潔的寫法如:
String name1=new
String(request.getParameter("user_id").getBytes("ISO8859_1"));
另外,在jdk1.3的支持下,不需要加入
<%@
page contentType="text/html;charset=gb2312"
%>
而在jdk1.2.2下面,即使2種方法同時(shí)運(yùn)用也很不穩(wěn)定。
而在resin平臺(tái),情況較好。只要在頁面第一行加入:
<%@
page contentType="text/html;charset=gb2312"
%>即可正確處理中文。
如果再加編碼則反而不對(duì)。
5
session中包含的中文
在jswdk中,奇怪的是如果從form中讀出的值經(jīng)過編碼則可正確顯示;
但直接賦予中文值則不行。
resin平臺(tái)很好,同上。
6 對(duì)于對(duì)變量賦中文值后正確顯示中文。
例如以下程序:
<%@ page contentType="text/html;charset=gb2312"
%>
<html><head></head><body>
<%
String
Hi="你好";
byte[] tmpbyte=Hi.getBytes("ISO8859_1");
Hi=new
String(tmpbyte);
out.print(Hi);
%>
</body></html>
同樣是jswdk1.0.1,以上的表示方法在jdk1.2.2中沒有問題,但在jdk1.3下卻無法顯示。
resin平臺(tái)很好,同上,經(jīng)過測(cè)試,只需要在<head>中補(bǔ)上
<meta
http-equiv="Content-Type" content="text/html;
charset=gb2312">
而不需要<%@ page
contentType="text/html;charset=gb2312" %>也能正確顯示中文。
體會(huì):
jswdk也許只能用于普通開發(fā),穩(wěn)定性和其它問題可能不如商業(yè)軟件。
由于jdk1.3版性能要好于jdk1.2.2很多倍,并且對(duì)中文的支持也較好,所以應(yīng)該加以采用。
作為免費(fèi)的商業(yè)軟件,resin不僅速度快,穩(wěn)定,自動(dòng)編譯,可指出出錯(cuò)行,可在服務(wù)器端支持使用javascript等,而且,至少我覺得對(duì)中文的支持很好。
當(dāng)然,如果不必做任何處理即可正確顯示中文將是我們所期待的。
另外,相信在unix/linux/solaris下應(yīng)該沒有這樣的問題。
分享:解決JSP開發(fā)Web程序中文顯示的三種方法方法一:最簡單也是用的最多的方法 <%@ page language=java pageEncoding=GBK %> 或者<%@ page contenttype=text/html;charset=gbk;>這里可以用gb2312或者gbk,只是gbk比gb2312支持跟多的字符。 這個(gè)方法用于jsp頁面中的中文顯示。 方法二:使用過
相關(guān)JSP教程:
- jsp response.sendRedirect不跳轉(zhuǎn)的原因分析及解決
- JSP指令元素(page指令/include指令/taglib指令)復(fù)習(xí)整理
- JSP腳本元素和注釋復(fù)習(xí)總結(jié)示例
- JSP FusionCharts Free顯示圖表 具體實(shí)現(xiàn)
- 網(wǎng)頁模板:關(guān)于jsp頁面使用jstl的異常分析
- JSP頁面中文傳遞參數(shù)使用escape編碼
- 基于jsp:included的使用與jsp:param亂碼的解決方法
- Java Web項(xiàng)目中連接Access數(shù)據(jù)庫的配置方法
- JDBC連接Access數(shù)據(jù)庫的幾種方式介紹
- 網(wǎng)站圖片路徑的問題:絕對(duì)路徑/虛擬路徑
- (jsp/html)網(wǎng)頁上嵌入播放器(常用播放器代碼整理)
- jsp下顯示中文文件名及絕對(duì)路徑下的圖片解決方法
JSP教程Rss訂閱編程教程搜索
JSP教程推薦
猜你也喜歡看這些
- JSP中獲取ExtJS.Ajax前臺(tái)傳遞的JSON數(shù)據(jù)實(shí)現(xiàn)過程
- 用J2ME在移動(dòng)設(shè)備上實(shí)現(xiàn)動(dòng)畫1
- JSP和Servlet對(duì)中文的處理過程
- jsp中freemarker 數(shù)字格式化
- JSP自定義標(biāo)簽Taglib實(shí)現(xiàn)過程重點(diǎn)總結(jié)
- jsp連接數(shù)據(jù)庫oracle
- JSP頁面自動(dòng)生成html頁面或任何格式頁面
- J2ME基礎(chǔ)知識(shí)
- JSP MySQL 無法插入中文問題
- javaweb之web入門基礎(chǔ)
- 相關(guān)鏈接:
- 教程說明:
JSP教程-JSP動(dòng)態(tài)網(wǎng)頁程序中中文亂碼的解決方法
。