1.将字符串转码:new String(“xxxxx”.getBytes("iso-8859-1"),"utf-8")





        这种转码方式有很大的弊端,因为它是使用指定的字符集将此String 编码为 byte 序列,并将结果存储到一个新的 byte
数组中,然后通过使用指定的字符编码将生成的byte
数组解码,构造一个新的String字符串。这种情况就有可能遇到的情况是,不能将一个汉字全部解码完。这样,前边的都能正常显示,但是最后一个字可能是乱码。所以不建议使用这种方式。





        2.在传参前转码:接收参数后再转码回来。

        这种方式有两种:

        第一种:

        传参前:使用java.net.URLEncoder.encode("xxxx",“utf-8"),将中文转为16进制字符。

        接收参数后:使用java.net.URLDncoder.decode("xxxx",“utf-8")将16进制字符转为中文。

        这种方式需要注意的是,在使用encode转码后,会出现特殊字符,这时候,就需要将特殊字符替换为相应的16进制。因为特殊字符在url路径中做为参数传递时,也是乱码。





        第二种:

        传参前:encodeURI(“xxxx”) 。

        接收参数后:使用java.net.URLDncoder.decode("xxxx",“utf-8")将16进制字符转为中文。

        这种方式需要注意的是,在使用encodeURI转码后,会出现特殊字符,这时候,就需要将特殊字符也转码,所以使用两次encodeURI,即:encodeURI(encodeURI(“xxxx”))。





        这两种转码方式是很好用的,所以很建议大家使用。





        3. 修改tomcat配置文件:

        在Tomcat的安装目录下conf文件夹中的server.xml文件,将配置访问端口的地方加上URIEncoding=“utf8"即可。

        <Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" URIEncoding="GBK">

        不建议使用这种方式。

Get请求中文乱码的几种解决方式的更多相关文章

  1. URL传参中文乱码的一种解决方法

    中文乱码是由于,发送和接收方使用的编码解码格式不一致导致,以下是关于url传参解决中文乱码的一种方法,最后根据各种编码格式尝试解码,发现正确的解码格式 string strQueryString = ...

  2. 关于使用Ajax请求json数据,@RequestMapping返回中文乱码的几种解决办法

    一.问题描述: 使用ajax请求json数据的时候,无论如何返回的响应编码都是ISO-8859-1类型,因为统一都是utf-8编码,导致出现返回结果中文乱码情况. $.ajax({ type:&quo ...

  3. java web中get请求中文乱码在filter中解决

    之前已经讲过get或者post方法的中文乱码问题,之前都是在每个方法中编写设置编码.如果程序变大,就会很繁琐,使用filter可以避免这种繁琐. 1)写一个encodingFilter进行编码设置 p ...

  4. boost.property_tree读取中文乱码问题正确的解决方式

    开发项目的时候在使用boost,在宽字符下遇到中文乱码问题 上网上看大家都是先转成utf8在进行解析的,例如: http://blog.csdn.net/hu_jiangan/article/deta ...

  5. asp.net中URL参数传值中文乱码的三种解决办法

    在做Asp.Net开发的时候,参数传递中文时,经常会遇到页面乱码的问题,下面是在网上收集的相关资料,请大家参考: 解决的方法一般有3种: 1.设置web.config文件 <system.web ...

  6. springmvc StringHttpMessageConverter 中文乱码的几种解决办法(亲测)

    昨天,将一个原来使用JSR 311作为restful实现的测试系统改成了使用spring mvc,最后测试的时候发现输出的json字符串为乱码,从日志可以看出使用的是StringHttpMessage ...

  7. get请求与post请求中文乱码问题的解决办法

    首先出现中文乱码的原因是tomcat默认的编码方式是"ISO-8859-1",这种编码方式以单个字节作为一个字符,而汉字是以两个字节表示一个字符的. 一,get请求参数中文乱码的解 ...

  8. 尚硅谷面试第一季-09SpringMVC中如何解决POST请求中文乱码问题GET的又如何处理呢

    目录结构: 关键代码: web.xml <filter> <filter-name>CharacterEncodingFilter</filter-name> &l ...

  9. 使用httpclient post请求中文乱码解决办法

    使用httpclient post请求中文乱码解决办法   在使用httpclient发送post请求的时候,接收端中文乱码问题解决. 正文: 我们都知道,一般情况下使用post请求是不会出现中文乱码 ...

随机推荐

  1. JS中的call()和apply()方法

    1.方法定义 call方法: 语法:call([thisObj[,arg1[, arg2[,   [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象. 说明: call ...

  2. [转]在MyEclipse中设置struts.xml自动提示功能

    导入标签:<%@ taglib uri="/struts-tags" prefix="s" %> 要想在MyEclipse中实现struts.xml ...

  3. Eclipse 的单步调试

    1.设置断点在程序里面放置一个断点,也就是双击需要放置断点的程序左边的栏目上. 2.调试(1)点击"打开透视图"按钮,选择调试透视图,则打开调试透视图界面,然后先设置断点,按调试按 ...

  4. Excel 点滴积累

    1.Excel中截取邮件@之后的字符 MID(text, start_num, num_chars) FIND(find_text,within_text,start_num) Right(strin ...

  5. windows7 启用管理员账户

    在虚拟机中安装了windows7,方便使用qq,使用百度云,office等常用的软件.虚拟机使用的oracle的VirtualBox,个人使用体验不错,最棒的功能是能将物理机中的磁盘映射到虚拟机中网络 ...

  6. js中选定元素slice()

    选定元素slice() slice() 方法可从已有的数组中返回选定的元素. 语法 arrayObject.slice(start,end) 参数说明: 1.返回一个新的数组,包含从 start 到 ...

  7. js学习笔记---事件代理

    事件机制可以分为捕获型和冒泡型.捕获型是事件由父级元素(DOM)传递到子元素.冒泡型正好相反.事件机制默认为冒泡型.事件机制可以通过参数指定. 事件委托可以将我们绑定在document上的事件自动绑定 ...

  8. linux 学习 day1

  9. ubuntu下安装myeclipse 并设置快捷键

    官网下载:http://www.myeclipseide.com/ 安装myeclipse ctrl+alt+t打开终端,切换到myeclipse所在路径: -$ cd 下载/ 设置myeclipse ...

  10. java发送GET和post请求

    package com.baqingshe.bjs.util; import java.io.BufferedReader; import java.io.IOException; import ja ...