栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > .Net

java get 传值乱码问题

.Net 更新时间:发布时间: 百科书网 趣学号

解决办法一:

get方式请求,若url含非西欧编码必然会乱码,处理方式:request.setCharacterEncoding("utf-8");

将请求参数使用ISO-8859-1分解成字节数组,再将字节数组解码成字符串:

String name = new String(request.getParameter("name").getBytes("ISO-8859-1"),"utf-8");

解决办法二:

java.net.URLEncoder.encode()传送字符编码

面贴一下解决这个问题参考的文章:

使用java.net.URLEncoder.encode()可以对要传递的中文进行编码

a.在传参数之前先把参数进行转码:java.net.URLEncoder.encode(param);

取值时用语句java.net.URLDecoder.decode(param);再转回中文

b.在你的Tomcat目录-->conf目录-->server.xml里找出这段:

代码如下

port="8080"               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

enableLookups="false" redirectPort="8443" acceptCount="100"

debug="0" connectionTimeout="20000"

disableUploadTimeout="true"

URIEncoding="gb2312"

/>

例如:

代码如下

">点击这里

if(request.getParameter("url")!=null)

{

str=request.getParameter("url");

str=java.net.URLDecoder.decode(str,"GB2312");

str=new String(str.getBytes("ISO-8859-1"));

out.print(str);

}

%>

若,字符编码为utf-8也可以实现.或者在此段代码中,不写出字符编码也可以(只写一个参数)。

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/985245.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号