程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> JSP表單傳值中文顯示亂碼的解決方法大全

JSP表單傳值中文顯示亂碼的解決方法大全

編輯:關於JSP

JSP頁面通過表單傳值代碼: 

<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
<form action="get.jsp">
    name:<input type=text name=name>
    <input type=submit>
</form>

get.jsp頁面內容: 

<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
<%
 String name=request.getParameter("name");
%>
<body>
    <%=name%>
</body>

如果在提交頁面文本框輸入中文,則顯示亂碼,比如“??????”

解決方法:

方法一:

1. 在get.jsp中把String name=request.getParameter("name");修改為

String name=new String(request.getParameter("name").getBytes("ISO-8859-1"),"GB2312");

方法二:

2.使用轉換函數轉換.toChinese()  

<%!public   static   String   toChinese(String strvalue)
      {
                  try{
                          if(strvalue==null)
                                return   null;
                          else
                          { 
                           strvalue=new String(strvalue.getBytes("ISO-8859-1"),"GB2312");
                                return strvalue;
                  }
                  }catch(Exception   e){
     
                              return  null;
                  }
      }

%>


凡是涉及中文字符串,如從數據庫中讀取中文字符串,或變量名賦值時,使用toChinese函數:
toChinese( "這是中文字符串 ")
 

方法三:如果頁面有多個字段輸入為中文,需要字符轉換,只需要在JSP程序片中加入以下代碼即可:

request.setCharacterEncoding("gb2312");

*
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved