get方式传值中文乱码

原创 2016年08月28日 19:14:28

如下情况:

<a id="bookname" title="${book.bname }"	href="<c:url value='/BookServlet?method=findByBname&bname=${book.bname }'/>">

问题描述:

  • 点击超链接,则传值到servlet中,在servelt中通过request.getParameter("bname"); 获取到的中文字符都显示为“?“

解决方法:

  1. 方法一: get方式提交的参数编码,只支持iso8859-1编码。因此,如果里面有中文。在后台就需要转换编码,如下
    String bname = request.getParameter("bname");
    bname = new String(bname .getBytes("iso8859-1"),"utf-8");

    前提是你页面编码就是utf-8,如果是gbk,那上面那句代码后面就改成gbk。
    But修改后我的问题仍没解决,继续。。。

  2. 方法二:在客户端使用 URLEncoder.encode(“中文”,”UTF-8”)对中文参数进行编码,在服务器端需要进行解码this.setName(java.net.URLDecoder.decode(name, “UTF-8”));
    比较麻烦!

  3. 方法三:修改tomcat的server.xml文件:

    <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8" useBodyEncodingForURI="true"/>

    • 添加URIEncoding="UTF-8" useBodyEncodingForURI="true"这一句。我使用的tomcat8,之前没有添加useBodyEncodingForURI="true",所以还是乱码,添加后问题解决!
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

页面get请求 中文参数方法乱码问题

地址栏中出现汉字的情况有两种,一种是汉字出现在URL的路径部分,一种是汉字出现在URL的传参的部分,第二种情况的时候必须采用编码后传参,接受时解码的方式完成传参。   js中编码有escape(),e...

jsp中Get提交方式的中文乱码解决办法

   其实这是个很普遍的问题,网上也有很多的文章去全面的解释jsp中文乱码的问题。在这里我只是想说一下get方式提交表单时的中文乱码解决方案。     现在做系统的时候,为了解决中文的乱码问题,我们通...

GET请求中的乱码原理解析和解决方案

2. 乱码问题解决 基础知识 1)浏览器会在中文的UTF-8后加上上%得到URL编码   例如: %e8%b4%b9%e7%94%a8%e6%8a%a5%e9%94%80 2)以get的请求...

Get,Post请求中文乱码问题有效解决方法

对于做Java WEB项目同学来说,中文乱码问题是一个经常遇到而又非常头痛的问题,而最容易出现乱码的环节就是在浏览器向服务器发送请求的过程,至于出现乱码的原因不是本文的关注的重点,想了解的朋友可以参考...
  • rchm8519
  • rchm8519
  • 2014年12月14日 22:57
  • 52485

JSP中Get提交方式的中文乱码解决

最近对JSP&Servlert的原理很感兴趣,所以今天花时间看了一下;无奈在一个编码问题上困扰很久 这是我的解决思路: (1)检查网页(html/jsp)页面的编码; (2)检查服务器端的处理编码的方...

终极解决GET方式中文乱码

问题:  想重定向到错误提示页面, 并带上错误信息, 实现方式是统一的controller异常处理器, 拦截到异常, 获取异常响应类型是Rest(@ResponseBody)还是页面, 若是页面, 则...

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

url传参中文乱码问题,其中包括了get方式的传参的三种处理中文乱码问题

使用Get方式传递中文参数的问题乱码问题!

使用Get方式传递中文参数的问题乱码问题 1,不希望受到Tomcat中server.xml中的 URIEncoding的配置的影响,所以使用的方式为: 页面中两次URL编码,服务器端再手工进行一次...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Get请求中文乱码问题有效解决方法

项目中遇到在前台用get方法传递中文到后台拿到的是乱码问题,花了好长时间解决, 下面是解决办法:     1、在IDEA编辑器里的编码格式都改成utf-8。     2、Get方式的乱码问题,由...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:get方式传值中文乱码
举报原因:
原因补充:

(最多只允许输入30个字)