url传值到Action的乱码解决方法

jsp页面 URL传中文参数到Action里面出现乱码,用过滤器和控制器都解决不了,用了我两个多小时解决这个小问题!
解决方法有以下几种:
第一种:在Action中用 new String(str.getBytes("ISO8859_1"), "UTF8"),进行转码,因为传递的时候,中文默人的是ISO8859_1
第二种:可通过配置TOMCAT来解决此问题,具体解决方法如下:在tomcat的server.xml里,找到<Connector port="8080"
              maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
              enableLookups="false" redirectPort="8443" acceptCount="100"
              debug="0" connectionTimeout="20000"
disableUploadTimeout="true" useBodyEncodingForURI="true" URIEncoding="gbk">
其中是修改 disableUploadTimeout="true" useBodyEncodingForURI="true" URIEncoding="gbk" 其方法是防止在url中出现乱码
然后在每个Jsp页面添加如下代码
< %@ page pageEncoding=”gb2312″%>
< %@ page contentType=”text/html;charset=gb2312″%>
< %request.setCharacterEncoding(”gb2312″);%>
第三种:直接在ACTION中利用以下方法解决:request.setCharacterEncoding("gb2312");
        response.setCharacterEncoding("gb2312");
< ==========================================>
我用的是struct1.2+Hibernate3.0+Spring2.0
在做那个两个action的页面的时候,jsp页面的下拉列表通过actionForm传值给action,老是得到乱码,过滤器+server.xml+页面编码统一后,

仍不能解决。后来把下拉列表代码改成value值为数字的形式传值
<form action="todivideMission.do" method="post" >
    <table width="100%" cellspacing="0">
    <tr>
    <td width="10%" align="center">任务类型</td><td width="15%">
    <select name="t_type" id="missionchoose" >
        <option value="0">请选择任务类型</option>
        <option value="1">维修</option>
        <option value="2">安装</option>
        <option value="3">采购</option>
        </select></td>
      
    <td width="75%" align="left"><input type="submit" value="提交" ></td>
  
      </tr>
    </table>
< /form>
然后在action中
int typeNo = Integer.parseInt(lform.getT_type());   //将下拉列表传来的值转化成int形
         System.out.println(typeNo);
         String type = null;
         if(typeNo==1){type = "维修";}
         if(typeNo==2){type = "安装";}
         if(typeNo==3){type = "采购";}

url传值到Action的乱码解决方法

时间: 2024-10-15 11:22:32

url传值到Action的乱码解决方法的相关文章

asp.net url址址中中文汉字参数传递乱码解决方法

中文乱码是网站开发中会常碰到的问题,今天我们来讲一下关于url址址中中文汉字参数传递乱码解决方法,有需要的朋友可以参考下.在cs文件里传参的时候用UrlEncode: Response.Redirect("B.asp教程x?Name="+Server.UrlEncode(Name)); 接参的时候用UrlDecode: Response.Write(Server.UrlDecode(Request.QueryString["Name"])); 脚本儿里传参的时候用e

jquery的ajax()函数传值中文乱码解决方法介绍

前台 jQuery.post("/MailTemplate/SaveMailTemplate?Code=" + item.Code + "&DisplayName=" +encodeURI   (item.DisplayName) + "&Body=" +encodeURI(item.Body), {}, function (data) {                                if (data == 'S

jsp页面保存到数据库有乱码解决方法

第一种: 在页面前加上 <%@ page language="java" contentType="text/html;charset=gbk" errorPage=""%> <%request.setCharacterEncoding("GBK");%> 第一行说明你的页面用的是中文编码 第二行声明你的页面传值也用中文编码 第二种 tomcat4.x支持中文传码,但5.x不支持,如果用5.0以上的版本

Jsp---cookie中文乱码解决方法

//写cookie <form method="Get"> 姓名: <input type="text" name="name" /> <br /> <input type="submit" value="确定" /> </form> <!-- 写入cookie到客户端 --> <% if (request.getParamete

mysql导入导出数据中文乱码解决方法小结

inux系统中 linux默认的是utf8编码,而windows是gbk编码,所以会出现上面的乱码问题. 解决mysql导入导出数据乱码问题 首先要做的是要确定你导出数据的编码格式,使用mysqldump的时候需要加上--default-character-set=utf8, 例如下面的代码: 复制代码 代码如下: mysqldump -uroot -p --default-character-set=utf8 dbname tablename > bak.sql 那么导入数据的时候也要使用--

win7下zend studio5.5中文乱码解决方法

win7下zend studio5.5中文乱码解决方法 1.打开 C:Documents and SettingsAdministratorZDEconfig_5.5desktop_options.xml(这个地址要根据自己的电脑而定.) 2.查找 editing.encoding 3.修改里面为 <encoding name=”UTF-8″/> 4.保存,并将该文件属性设置为只读,否则zend每次启动都会将 desktop_options.xml 初始化 5.重启 zend 注意,你现在打开

SpringMVC中使用@ResponseBody注解返回值,Ajax取得中文乱码解决方法

Spring使用AnnotationMethodHandlerAdapter的handleResponseBody方法, AnnotationMethodHandlerAdapter使用request header中"Accept"的值和messageConverter支持的MediaType进行匹配,然后会用"Accept"的第一个值写入 response的"Content-Type".一般的请求都是通过浏览器进行的,request heade

springmvc前台传递到controller层的中文乱码解决方法

@RequestMapping("/judge") public String judgeLogger(@RequestParam String userName, @RequestParam String password, @RequestParam String sex, RedirectAttributes redirectAttributes) { // 乱码解决方法 try { String name = new String(userName.getBytes("

linux安装Navicat,界面出现乱码解决方法 (转发)

环境:Centos7 下载Navicat:navicat112_mariadb_cs_x64.tar.gz 点击" ./start_navicat"安装出现界面便面为乱码 解决办法:打开start_navicat文件, export LANG="en_US.UTF-8" 改为 export LANG="zh_CN.UTF-8". 源文章:Ubuntu 安装Navicat,界面出现乱码解决方法:http://blog.csdn.net/u01085