国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

對JSP頁面傳值中文亂碼的簡單解決方法

2024-09-05 00:20:35
字體:
來源:轉載
供稿:網友

  源代碼,a.jsp往b.jsp傳值:

  a.jsp頁面內容:

<%@ page language="java" import="java.util.*" pageencoding="gb2312"%>
<form action="b.jsp">
  name:<input type=text name=name>
  <input type=submit>
</form>

  b.jsp頁面內容:

<%@ page language="java" import="java.util.*" pageencoding="gb2312"%>
<%
string name=request.getparameter("name");
%>
<body>
  <%=name%>
</body>

  現象:中文亂碼,比如“??????”

  解決方法如下:

  方法一:

  1. 在b.jsp中把pageencoding="gb2312"改為pageencoding="iso8859-1"

  雖然這樣b.jsp頁面顯示的內容還是亂碼,但是不是那種“??????”的亂碼,而是一些特殊字符

  2. 然后在瀏覽器中查看菜單中修改成gb2312的編碼,這時亂碼就顯示中文了。

  3. 但是這種方法是不可行的。

  方法二:

  1. 在b.jsp中把string name=request.getparameter("name");修改為

  string name=new string(request.getparameter("name").getbytes("iso-8859-1"),"gb2312");

  2. 這時再在頁面上顯示,則就是中文了。

  方法三:

  1. 有人說修改get/post的傳值方式,但是這是有前提的,如果只是把get方式修改成post方式,頁面結果還是亂碼!

  2. 前提你必須配置了過濾器,若果你只是配置了過濾器,則傳值方式必須是:post方式才不是亂碼,如果是get方式照樣是亂碼!

  3. 過濾器的配置,我想大家都能有,我就不說了

  方法四:

  1. 有人說配置tomcat的配置文件server.xml里這句:

<connector uriencoding="gb2312"
        port="8080" maxhttpheadersize="8192"
        maxthreads="150" minsparethreads="25" maxsparethreads="75"
        enablelookups="false" redirectport="8443" acceptcount="100"
        connectiontimeout="20000" disableuploadtimeout="true" />

  加上這句:uriencoding="gb2312"

  2. 雖然可以但是有前提的,若果你過濾器沒有配置,則只是配置了server.xml文件,這樣只有在表單是get傳值時候才可以!當是post方式時,照樣是亂碼!

  *這時我們就可以看出在tomcat5中的post與get傳值方式是不一樣的*

  *有人要問有沒有一種方法讓傳值使用get方式或post方式都好用呢,下面就是我推薦的方法五*

  方法五:

  1. 其實很簡單,就是同時實現方法三又實現方法四!

  2. 就是先配置過濾器,又配置server.xml文件,都設置成gb2312的編碼

  3. 這樣無論是post還是get方式的表單傳值,中文都不會是亂碼!

  • 本文來源于網頁設計愛好者web開發社區http://www.html.org.cn收集整理,歡迎訪問。
  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 博湖县| 孝感市| 乐都县| 甘肃省| 类乌齐县| 阜平县| 肃南| 浪卡子县| 蒙自县| 托克托县| 五家渠市| 信阳市| 民勤县| 石城县| 寻乌县| 五常市| 临城县| 汾阳市| 保定市| 黄浦区| 桃园县| 呼玛县| 辽阳市| 兴业县| 尚义县| 和平县| 屏边| 桐庐县| 赫章县| 扬州市| 筠连县| 墨竹工卡县| 玉环县| 塘沽区| 安远县| 元阳县| 会昌县| 禹城市| 天等县| 布拖县| 陆河县|