中文乱码问题

来源:互联网 发布:酒店网络销售工作职责 编辑:程序博客网 时间:2024/05/16 05:09

        中文作为参数传递乱码

  当我们把一段中文字符作为参数传递个另一页面时,也会出现乱码情况,解决方法如下:
参数传递时对参数
编码,比如
RearshRes.jsp?keywords=" + java.net.URLEncoder.encode(keywords)
然后在接收
参数
页面使用如下语句接收
keywords=new String(request.getParameter("keywords").getBytes("8859_1"));

          JSP页面乱码加这句?

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="err.jsp" %>

          在form中用get方法传参乱码解决方法

           如:

1、 login.jsp

<%@ page language="java" contentType="text/html;charset=GBK"%>
<html>
<head>
     <title>get传参乱码问题</title>
</head>

<body>
     <form name="form1" action="login_do.jsp" method="GET">
     <input type="text" name="username"/><br>
     <input type="password" name="password"/><input type="submit" value="提交"/>
     </form>
</body>
</html>
============

2、login_do.jsp

<%@ page language="java" contentType="text/html;charset=GBK"%>

<%
    
     String temp=request.getParameter("username");
     if(temp!=null){
         temp=new String(temp.getBytes("8859_1"),"GBK");
     }
     out.println(temp);

%>

      在ajax中url传中文参数时乱码要注意的地方:

例如下面这个方法:

//增加类别函数
function addSort(){
var name = document.getElementById("name").value;      //取得id为name的文本框的值(中文的)
if(name==""){
   alert("类别名称不能为空!");
   document.getElementById("name").focus();
   return false;
}
var url = "action=add&name="+name;           //这个name是中文参数
createXMLHttpRequest();
XMLHttpReq.onreadystatechange = AddStateChange;
XMLHttpReq.open("POST","adminSort",true);         //通过post方式传送
XMLHttpReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
XMLHttpReq.send(url);
}