jsp页面传入后台Action乱码问题解决方案

 

我们经常在jsp页面通过url传入中文参数,在action中去接收会发现中文乱码了,这时候我的解决办法是进行判断   如:

String empName = "您从url传过来的中文参数";

			if(empName.equals(new String(empName.getBytes("GB2312"), "GB2312"))){
				empName = new String(empName.getBytes("GB2312"),"utf-8");
		    	}else  if(empName.equals(new String(empName.getBytes("iso-8859-1"), "iso-8859-1"))){
		    	 	empName = new String(empName.getBytes("iso-8859-1"),"utf-8");		    	
			}else if(empName.equals(new String(empName.getBytes("UTF-8"), "UTF-8"))){
		    		empName = new String(empName.getBytes("UTF-8"),"utf-8");
		    	}else if(empName.equals(new String(empName.getBytes("GBK"), "GBK"))){
		    		empName = new String(empName.getBytes("GBK"),"utf-8");
		    	}
应该我们系统编码标准时utf-8形式,所以我直接通过判断,然后使其自动转换,这样就解决了中文乱码问题。。。。。
时间: 2024-08-27 04:46:34

jsp页面传入后台Action乱码问题解决方案的相关文章

struts2中的jsp值传到后台action接收的三种方法

struts2中的Action接收表单传递过来的参数有3种方法: 如,登陆表单login.jsp: <form action="login" method="post" name="form1"> 用户名:<s:textfield name="username"/><br/> 密 码:<s:password name="password"/><br/&g

Jsp页面中的中文乱码问题解决

在编写Jsp页面的时候,发现写入其中的中文在浏览器浏览的时候会出现乱码的情况. 出现乱码的原因分析: 因为页面中对自己的编码格式的声明和页面的实际编码格式不相同,而浏览器解析页面的时候是按照页面中声明的编码格式去解析的,所以当实际编码是A而页面中声明的编码是B时,解析后就会出现乱码.因此,解决办法就是将页面中的声明的编码格式与页面的实际编码格式设为同一个编码. 这个问题可以这样解决: 首先,在页面顶端,用page指令声明此页的编码格式,比如通过contentType="text/html, ut

javascript通过url向jsp页面传递中文参数乱码解决方法

解决方法:在传递参数前将中文参数进行两次编码,jsp页面获取参数后对中文参数进行一次解码,中文参数就不会变为乱码了! 参考例子: <%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@ page import="java.net.*" %><%String str0=&

JSP页面传值出现中文乱码的问题

在接收值的jsp页面代码的body里添加: <%request.setCharacterEncoding("utf-8"); %>  //这里是设置utf-8为jsp页面的中文编码方式 jsp页面之间传值: 发送信息的jsp脚本: session.setAttribute("user",rs.getString("name")); session.setAttribute("pwd",rs.getString(&q

JSP页面中的中文乱码问题

Jsp默认的字符编码格式是iso-8859-1 因为post方法与get方法传递参数的方式不一样,所以有不同的解决方法. 一.post乱码解决方法: 1.设置请求和响应的编码方式 //设置请求的编码格式 request.setCharacterEncoding("UTF-8"); //设置响应的编码格式 response.setCharacterEncoding("UTF-8"); 或者 <%@page language="java" co

jsp,OGNL调用后台Action的某方法

用%{}可取出valueStack中的Action,可直接调用其方法. %{testa('key')} 即可调用到action的testa(String s) 方法 但这些都需要结合struts2的标签. 如:<s:property value="%{testa('key')}" /> key是需要传的参数,后台的testa方法的返回值是String类型的,key是值, 例如<s:property value="%{testa(#u.tbPriceGread

Jsp页面遍历后台传过来的List

1:使用jstl标签 (可以和自定义标签配合使用) 首先引用jstl标签 [html] view plaincopy <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 然后使用foreach标签 [html] view plaincopy <c:forEach items="${list}" var="user" varStatu

JSP页面调用js中文乱码

jsp中第一句:<%@ page language="java" import="java.sql.*,java.util.*,"  contentType="text/HTML;charset=gb2312" pageEncoding="gb2312"%> html中加上<meta http-equiv="Content-Type" content="text/html;cha

springMVC笔记:jsp页面获取后台数据记录列表

1.读取数据库中的记录List<HashMap<String,String>> attributes; 2.Controller构造Model如下: @RequestMapping("display.do") public ModelAndView display(HttpServletRequest request, ModelMap model) { List<HashMap<String, String>> myList = dis