【WEB】jsp向servlet传参中文乱码问题解决

  • 传参方式:POST、GET、link方式

    • servlet向jsp传中文参数msg
1 if(username.equals("") || password.euqals("")){
2             msg = "用户名密码不能为空";
3             String encodeMsg = java.net.URLEncoder.encode(msg, "GBK");       // URLEncoder参数进行转码,地址栏参数为16进制码
4             String url = "http://127.0.0.1:8080/Jsp_Servlet_JavaBean_01/index.jsp?error="+encodeMsg;
5             response.sendRedirect(url);
6 }
    • jsp页面pageEncoding设置为GBK,用getBytes方法使字符集形式转换成ISO-8859-1
1 <%
2 String msg = request.getParameter("error");
3 if(msg != null){
4     msg = new String(msg.getBytes("ISO-8859-1"),"utf-8");
5     out.print(msg);
6 }
7 %>
    • jsp向servlet传中文参数,一般使用POST方式
1 request.setCharacterEncoding("GBK");    
时间: 2024-10-07 18:18:22

【WEB】jsp向servlet传参中文乱码问题解决的相关文章

页面传参中文乱码解决方案

jsp页面传递参数到servlet,只要参数有中文就是乱码,大多数是??????乱码,尝试了网上比较普遍的好多种办法都不行,最后加了一句话解决掉,分享给大家. 1.打开tomcat安装目录 2.找到conf文件夹 3.打开里面的server.xml 4.找到 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443

关于url传参中文乱码问题

之前都一直很不了解中文编码得问题,之前在做项目中没碰到那么头痛的问题.所以一直没有了解中文乱码的问题. 问题描述: 地址: http://localhost:8080/sun-government/contest/get_teams_by_type_with_page?typeName=新材料 当在windows 跑 myeclipse的命令台  能正确打印出typeName的参数,而且持久层并没有问题. 当在 linux 跑catalina模式  打印出乱码,持久层也是乱码. 百度了好几个好几

Java URL传参中文乱码问题

我们经常会遇到这样的场景:在URL中传递参数,如果该参数为中文,如果设置不当,会出现乱码问题. URL传参所使用的编码为服务器中设置的编码,而ajax请求的编码为页面编码. 如果不设置tomcat的默认编码为ISO-8859-1,而如果在设置中加入 useBodyEncodingForURI="true" <Connector URIEncoding="UTF-8" connectionTimeout="20000" port="

window.location.href传参中文乱码问题

window.location.href="${pageContext.request.contextPath}/story/exportStoryInfo?domainId="+domainIds                                                +"&requirementName="+requirementName; 前端页面需求名称输入"4.19活动",传递到后台时出现中文乱码问题: 解

get请求中url传参中文乱码问题--集锦

一:get请求url中带有中文参数,有三种方式进行处理防止中文乱码 1.如果使用tomcat作为服务器,那么修改tomcat配置文件conf/server.xml中,在  <Connector port="8082" protocol="HTTP/1.1"  中加入  URIEncoding="utf-8"的编码集 2.前台需要对中文参数进行编码,调用js方法encodeURI(url),将url编码,然后请求. 后台接受时,需处理Stri

JS传参中文乱码问题.NET

前台js代码 window.location.href = "/product.aspx?id=2&title=" +encodeURIComponent(strtitle) 后台代码 title = HttpUtility.UrlDecode(title); 很简单这样就解决了中文乱码问题

jsp和servlet操作mysql中文乱码问题的解决办法

转载:http://www.jb51.net/article/49253.htm 首先看是从什么地方开始出现的乱码,只要统一编码,就不会出现乱码,下面以uft-8(个人认为最好)为例,详细说明: 1.如果乱码是从jsp页面出现的,jsp头部页面加上:<%@ page language="java" pageEncoding="UTF-8" %>在head标签中加上标签. 2.如果乱码是在servlet中出现的,则有两种方法:一种是在每个servlet中d

asp.net 页面通过URL传参中文乱码的三种解决方案

1.编码 string state=Server.UrlEncode(stateName.Text.Trim());Response.Redirect("aaa.aspx?state="+state+""); 2.解码(aaa.aspx) string state= Server.UrlDecode(Request.QueryString["state"].ToString()); 是GB2312编码的,参数传值是UTF-8编码的 解决的方法一般

URL传参中文乱码、点链接弹出子窗口

方法一: String ssdwhbm = new String(getRequest().getParameter("ssdwhbm").getBytes("iso8859-1"),"utf-8"); 方法二: <a href="javaScript:void(0)" onclick="paixu('${l.ssdwhbm}')" >排序</a> <script type=&