当前位置: 首页 > 编程笔记 >

完美解决Get和Post请求中文乱码的问题

汝彭薄
2023-03-14
本文向大家介绍完美解决Get和Post请求中文乱码的问题,包括了完美解决Get和Post请求中文乱码的问题的使用技巧和注意事项,需要的朋友参考一下

对于Post请求,只需在Servlet或者jsp中写入如下代码就可以把解决从表单中传入的中文乱码问题

request.setCharacterEncoding("utf-8");

而对于Get请求,因为请求参数会被附加到地址栏的URL之后,所以不能用上面的处理方法。应该这样:

String str=request.getQueryString();

//使用URLDecoder解码字符串

String str1=java.net.URLDecoder.decode(str,"utf-8");

String[] paraStrings=str1.split("&");

//paraStrings[0]就是第一个参数,依次类推...

for(String paraString : paraStrings)

{

 String[] nameValue=paraString.split("=");

 //nameValue[0]就是表单的name,nameValue[1]就是表单name对应的值

}

还有一种方法就是获取请求参数之后对请求参数值重新编码,也就是先将其转换成字节数组,再将字节数组重新解码成字符串。

String str=request.getParameter("name");

byte[] bytes=str.getBytes("ISO-8859-1");

String name=new String(bytes,"utf-8");

以上这篇完美解决Get和Post请求中文乱码的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍SpringMVC post请求中文乱码问题解决,包括了SpringMVC post请求中文乱码问题解决的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了SpringMVC post请求中文乱码问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 我们在页面难免提交一些中文数据给后台处理,但是发现后台拿到的数据乱码,可以

  • 本文向大家介绍解决Tomcat修改get提交请求乱码问题,包括了解决Tomcat修改get提交请求乱码问题的使用技巧和注意事项,需要的朋友参考一下 1:表单提交controller获得中文参数后乱码解决方案 注意: jsp页面编码设置为UTF-8 ***************form表单提交方式为必须为post,get方式下面spring编码过滤器不起效果 修改web.xml,增加编码过滤器,如

  • 本文向大家介绍页面get请求 中文参数方法乱码问题的快速解决方法,包括了页面get请求 中文参数方法乱码问题的快速解决方法的使用技巧和注意事项,需要的朋友参考一下 对于get方式,请求参数中存在中文,可以使用下面的方法进行处理: 两次使用encodeURI()方法:例如:encodeURI(encodeURI(“中文”)),然后再服务器中使用URLDecoder.decode(“中文”, "UTF

  • 本文向大家介绍JavaScript BASE64算法实现(完美解决中文乱码),包括了JavaScript BASE64算法实现(完美解决中文乱码)的使用技巧和注意事项,需要的朋友参考一下 JavaScript 的 BASE64 算法 使用方法: 收藏的Base64编码/解码.在一个外国网站看到的.不过对中文不支持. 自己加入了escape,.对中文也支持了. 先用escape()对中文进行编码.然

  • 本文向大家介绍完美解决Java获取文件路径出现乱码的问题,包括了完美解决Java获取文件路径出现乱码的问题的使用技巧和注意事项,需要的朋友参考一下 在Java中有时获取文件路径,获取的路径中存在中文或者是空格的时候,路径出现乱码。这个问题困扰了我好久,用过各种的转码都无济于事。在后来终于解决了,在这里和大家分享一下,其实也就是加一行代码的问题。 我在项目的是使用 这样来获得当前类的文件路径的。但是

  • 本文向大家介绍关于Ajax请求中传输中文乱码问题的解决方案,包括了关于Ajax请求中传输中文乱码问题的解决方案的使用技巧和注意事项,需要的朋友参考一下 今天遇到一个问题,有关ajax 请求中传输中文,遇到乱码的问题。 如下代码: 如上代码 如果只是传“&foderName=”+folderName 的话,汉字就会产生乱码,如果经过encodeURL 转换两次的话,汉字编码会变为类似 “%e6%b5