解决Servlet中GET请求参数为中文时出现乱码

服务器:Tomcat 7.0.xx
在Servlet的doGet方法中添加以下代码:

String str = request.getParameter("username");
byte[] bytes = str.getBytes("iso-8859-1");
str = new String(bytes, "utf-8");

例子:

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        String str = request.getParameter("username");
        byte[] bytes = str.getBytes("iso-8859-1");
        str = new String(bytes, "utf-8");

        System.out.println(str);
    }



当服务器:Tomcat 8.0.xx时,不需要输入 以上代码,可以直接输出

例子:

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        String str = request.getParameter("username");
        System.out.println(str);
    }

原文地址:https://blog.51cto.com/indigotang/2413540

时间: 2024-10-02 07:42:07

解决Servlet中GET请求参数为中文时出现乱码的相关文章

利用jQuery 解决URL请求参数有中文时出现乱码的问题

利用jQuery 解决URL请求参数有中文时出现乱码的问题 在开发的时候经常会碰到URL中请求参数含有中文的情况,这时如果在前台不作处理,直接在后台利用request.getParameter()拿对应的参数值就会出现中文乱码. 这时可以先利用jQuery对对应中文进行encodeURI(),例子如下: 前台对应代码 <!--省畋无关代码--> <input type="button" id="submitA" value="重发短信&q

解决java中ZipFile解压缩时候的中文路径和乱码问题

JAVA中对jar文件或zip文件解压的时候,能够使用JDK内置的API:JarFile和ZipFile,在windows下解压这2种格式文件的时候,常常报下面错误: Exception in thread "main" java.lang.IllegalArgumentException: MALFORMED at java.util.zip.ZipCoder.toString(ZipCoder.java:58) at java.util.zip.ZipFile.getZipEntr

js处理url中的请求参数(编码/解码)

在处理 a 链接跳转其他页面时,总会遇到需要传递一些当前页面的信息到其他页面,然后其他页面利用这些信息进行相关操作.利用 get 请求或 hash 传递是常见的方式. 首先,需要对传递的参数进行编码,保证数据的安全性:之后,将参数拼接到要跳转的url后,并设置为 a 链接中的 href 属性值. var util = { setUrlParam: function (params, targetUrl) { var url = ''; if(params && targetUrl){ //

Struts2中获取请求参数

Action在Strucs中负责请求参数的处理,那么他是如何实现的呢?这篇博文就将给大家做个简单的介绍.在struts中,获取请求参数主要有一下两种方式: 1.属性驱动方式 方式一:使用属性驱动,直接将Action作为Model;但是这样做不好的一点就是无法将参数传到Service层进行进一步处理. package cn.tgb.action; //方式一:使用属性驱动,将Action作为Model public class Action01 { private String name; pri

解决ubuntu中zip解压的中文乱码问题

在解压windows传过来的zip文件时,才会出现乱码.所以,我用另一个方法解决中文乱码问题. 安装 代码: sudo apt-get install unar 12.04以下或者想编译安装的朋友请参考: 使用 代码: lsar foo.zip #列出所有文件 如果列出的文件名已经正确 代码: unar foo.zip #解压所有文件 如果列出的文件名还不正确 代码: lsar -e GB18030 foo.zip #指定使用GB18030编码列出所有文件 unar -e GB18030 foo

接口测试中读取excel中的请求数据含有中文问题,UnicodeEncodeError: &#39;latin-1&#39; codec can&#39;t encode character &#39;\u5c0f&#39; in position

错误信息:UnicodeEncodeError: 'latin-1' codec can't encode character '\u5c0f' in position 31: Body ('小') is not valid Latin-1. Use body.encode('utf-8') if you want to send it encoded in UTF-8的错误 原因:从excel中读取你的接口请求数据时带有中文时在发送求情时会出现上述错误.只需要将请求数据转化为bytes类型即可

4、处理方法中获取请求参数、请求头、Cookie及原生的servlet API等

1.请求参数和请求头 使用@RequestParam绑定请求参数,在处理方法的入参处使用该注解可以把请求参数传递给请求方法 —— value :参数名 —— required : 是否必须,默认为true,表示请求参数中必须包含对应的参数,如果不存在,则抛出异常     例如: @RequestMapping(value="/param") public String testParam(@RequestParam(value="name", required=tr

ajax请求参数为中文乱码的情况

前提是ajax请求传递参数对象到后台,对象中的某个参数的值为中文,到后台之后出现乱码,导致报错.问题解决如下: rest层:

asp.net中Request请求参数的自动封装

这两天在测一个小Demo的时候发现一个很蛋疼的问题----请求参数的获取和封装,例: 方便测试用所以这里是一个很简单的表单. <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> &