亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

Tomcat服務器下JSP頁面中文問題及解決方法總結

2019-11-18 16:23:55
字體:
來源:轉載
供稿:網友
   目前, Tomcat 作為一種出色的開放源代碼的 jsp 服務器,目前在 JSP 的開發過程中獲得了廣泛的應用. 但是作為一款英語國家公司開發的軟件, 在中文環境下不可避免的會出現一些亂碼問題. 這里就 Tomcat 4.0 和 Tomcat 4.1 下的常見中文問題及其解決方法做一個總結. 這些方法都已經在 中文版 Windows 98 + JDK 1.3.1 和 中文版 windows 2000 + JDK 1.3.1 下通過了測試. 另外在 IBM 的網站上有一個網頁 http://www-900.ibm.com/developerWorks/cn/java/jsp_dbcsz/index.sHtml 也討論了這個問題.
   首先為了便于討論, 這里首先列出了一些方便的工具方法, 便于我們的討論. 這些方法如下所示:

// 轉換由表單讀取的數據的內碼到 GB2312
public String toChi(String input) {
try {
byte[] bytes = input.getBytes("ISO8859-1");
return new String(bytes);
}catch(Exception ex) {
}
return null;
}

// 對給定字符進行 URL 編碼
public String encode(String value) {
if(isEmpty(value)) return "";
return java.net.URLEncoder.encode(value);
}

// 對給定字符進行 URL 解碼
public String decode(String value) {
if(isEmpty(value)) return "";
return java.net.URLDecoder.decode(value);
}

.
   問題1. 瀏覽器中看到的 JSP 頁面中的漢字怎么都成了 '?' ?
可能原因如下: 您的頁面中沒有指定頁面的字符集為中文. 解決方法(適用于Tomcat 4.0 和 Tomcat 4.1)是在頁面中添加如下代碼:
<%@ page contentType="text/html;charset=gb2312" %>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

   問題2. 通過 POST 方法提交的表單的漢字都顯示為亂碼(在 Tomcat 4.0 下正常, Tomcat 4.1 下出現).
可能原因如下: POST 提交的字符串都是 ISO8859-1 編碼的, 只要把它的字符集轉換到中文就行了. 解決方法如下(適用于 Tomcat 4.1):
// 單個的參數
String result = toChi(request.getParameter("parameterName"));
// 多個參數
String values[] = request.getParameterValues(name);
if(values != null) {
for(int i = 0; i < values.length; i++) {
values[i] = toChi(values[i]);
}
}

   問題3. 通過 GET 方法提交的表單的漢字都顯示為亂碼(在 Tomcat 4.0 和 Tomcat 4.1 下都出現).
可能原因如下: GET 提交的字符串都是 ISO8859-1 編碼的, 只要把它的字符集轉換到中文就行了. 解決方法如下(適用于 Tomcat 4.1, Tomcat 4.0 下不能用于 page.jsp?username=中文):
// 單個的參數
String result = toChi(request.getParameter("parameterName"));
// 多個參數
String values[] = request.getParameterValues(name);
if(values != null) {
for(int i = 0; i < values.length; i++) {
values[i] = toChi(values[i]);
}
}

   問題4. Cookie 中不能寫入漢字或者漢字無法正確顯示.
可能原因如下: Tomcat 4.0 下自動把 Cookie 做了編碼為 ISO8859-1 的存儲, 而 Tomcat 4.1 下的 JSP 引擎不支持包含含有漢字的 Cookie.
Tomcat 4.0 下的解決方法:
// 根據 Cookie 名稱得到請求中的 Cookie 值, 如果 Cookie 值是 null, 則返回 ""
public String getCookieValue(HttpServletRequest request, String name) {
Cookie[] cookies = request.getCookies();
if(cookies == null) return "";
for(int i = 0; i < cookies.length; i++) {
Cookie cookie = cookies[i];
if(cookie.getName().equals(name)) {
// 需要對 Cookie 中的漢字進行 URL 反編碼, 適用版本: Tomcat 4.0
return decode(cookie.getValue());
}
}
// A cookie might not return a null value, may return a ""
return "";
}
Tomcat 4.1 下的解決方法:
// 寫入包含漢字 Cookie 的方法
response.addCookie(new Cookie("cookieName", encode("漢字")));
// 得到 Cookie 值的方法(同 Tomcat 4.0 的解決方法)
public String getCookieValue(HttpServletRequest request, String name) {
Cookie[] cookies = request.getCookies();
if(cookies == null) return "";
for(int i = 0; i < cookies.length; i++) {
Cookie cookie = cookies[i];
if(cookie.getName().equals(name)) {
// 需要對 Cookie 中的漢字進行 URL 反編碼, 適用版本: Tomcat 4.0
return decode(cookie.getValue());
}
}
// A cookie might not return a null value, may return a ""
return "";
}

   問題5. 在 Tomcat 4.0 下 GET 請求(如: page.jsp?
username=中文) 無法返回原來的值.
原因: 與 Tomcat 引擎有關, 不論是否轉換內碼, 均無法返回原來的值, 但是有一個替代方法, 如下:
將 URL 地址改變為 "page.jsp?username=" + encode("中文")
然后使用下列代碼取回參數:
// 單個的參數
String result = toChi(request.getParameter("parameterName"));

   問題6. JavaBean 里使用 <jsp:setPRoperty id="propName" property="*" /> 出現中文問題.
暫時未提供解決方案.

(出處:http://www.49028c.com)



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧美日韩一区二区在线| 国产在线a不卡| 国产亚洲日本欧美韩国| 精品无人区太爽高潮在线播放| 国产欧美精品久久久| 亚洲福利在线看| 亚洲欧美制服综合另类| 91亚洲精品一区二区| 亚洲国产私拍精品国模在线观看| 热久久视久久精品18亚洲精品| 国产在线精品播放| 国产精品视频26uuu| 国产精品一区二区在线| 国产精品男女猛烈高潮激情| 91免费国产网站| 久久全球大尺度高清视频| 国产日韩中文在线| 91久久精品美女高潮| 国产91精品高潮白浆喷水| 欧美重口另类videos人妖| 热re99久久精品国产66热| 亚洲国产成人精品久久久国产成人一区| 黄网动漫久久久| 黄色91在线观看| 欧美性猛交xxxx富婆| 成人伊人精品色xxxx视频| 久久精品国产久精国产思思| 欧美国产欧美亚洲国产日韩mv天天看完整| 中文字幕av日韩| 2019日本中文字幕| 亚洲自拍欧美色图| 国产精品久久色| 欧美在线视频一区二区| 狠狠干狠狠久久| 日本一区二三区好的精华液| 久久久久久久网站| 亚洲综合在线播放| 日本伊人精品一区二区三区介绍| 精品二区三区线观看| 黑人狂躁日本妞一区二区三区| 成人黄色短视频在线观看| 国产精品海角社区在线观看| 欧美一二三视频| 亚洲欧美国产另类| 亚洲电影免费观看高清完整版| 欧美激情女人20p| 久久亚洲精品毛片| 欧美富婆性猛交| 欧美视频裸体精品| 久久免费国产视频| 欧美片一区二区三区| 日韩免费在线看| 丝袜亚洲另类欧美重口| 亚洲国产天堂网精品网站| 中文字幕亚洲国产| 日韩欧美aⅴ综合网站发布| 日韩中文理论片| 在线日韩欧美视频| 久久人人爽人人爽人人片亚洲| 欧美电影在线观看网站| 色婷婷亚洲mv天堂mv在影片| 性欧美激情精品| 日韩极品精品视频免费观看| 色偷偷888欧美精品久久久| 国产精品96久久久久久又黄又硬| 欧美日韩中文字幕| 国产精品老女人视频| 国产精品欧美亚洲777777| 国产丝袜一区二区三区| 91免费人成网站在线观看18| 2019亚洲日韩新视频| 国产精品影院在线观看| 欧美亚洲成人免费| 国产精品免费电影| 欧洲精品在线视频| 福利微拍一区二区| 456国产精品| 91麻豆国产语对白在线观看| 国产精品av电影| 视频在线观看一区二区| 欧美专区在线观看| 丝袜情趣国产精品| 大桥未久av一区二区三区| 久久人91精品久久久久久不卡| 日韩av电影手机在线观看| 日韩成人性视频| 18性欧美xxxⅹ性满足| 51色欧美片视频在线观看| 2019中文在线观看| 日韩视频免费中文字幕| 欧美一区二区三区免费观看| 日av在线播放中文不卡| 欧美成人合集magnet| 51色欧美片视频在线观看| 国产精品第1页| 欧美成人免费在线视频| 成人精品网站在线观看| 亚洲精品乱码久久久久久金桔影视| 亚洲男人天堂2019| 亚洲国产天堂网精品网站| 国产精品久久久久久中文字| 国模私拍视频一区| 欧美日韩亚洲一区二区| 亚洲久久久久久久久久| 在线精品视频视频中文字幕| 91精品久久久久久久久久久| 国产精品偷伦一区二区| 人妖精品videosex性欧美| 日韩精品在线观看一区| 欧美黑人视频一区| 2019中文字幕在线| 国产综合在线观看视频| 精品久久久久久久大神国产| 91香蕉国产在线观看| 91国语精品自产拍在线观看性色| 国产精品高潮呻吟久久av黑人| 国产精品日日做人人爱| 日韩欧美一区二区在线| 7777免费精品视频| 国产精品日韩在线| 国产脚交av在线一区二区| 亚洲美女在线观看| 成人免费自拍视频| 亚洲午夜未删减在线观看| 欧美日韩综合视频| 欧美成人午夜免费视在线看片| 97视频在线观看网址| 色狠狠av一区二区三区香蕉蜜桃| 久久久999成人| 91精品视频大全| 久久久精品久久久久| 成人激情视频免费在线| 亚洲美女福利视频网站| 自拍偷拍亚洲在线| 欧美www视频在线观看| 亚洲黄页视频免费观看| 午夜精品久久久久久久久久久久| 久久伊人精品一区二区三区| 97久久精品在线| 欧美亚洲国产视频小说| 狠狠久久亚洲欧美专区| 成人免费xxxxx在线观看| 亚洲女性裸体视频| 欧美性生交大片免网| 国产主播欧美精品| 91香蕉电影院| 美女精品久久久| 北条麻妃在线一区二区| 久久影视免费观看| 91深夜福利视频| 91久热免费在线视频| 最近中文字幕日韩精品| 国产又爽又黄的激情精品视频| 久久久久亚洲精品成人网小说| 久久精品国产一区二区电影| 日韩在线观看视频免费| 欧美日韩国产丝袜美女| 久久久久久久久国产| 欧美网站在线观看| 国产狼人综合免费视频| 欧美午夜激情小视频| 亚洲最大av在线| 欧洲s码亚洲m码精品一区| 亚洲福利视频专区|