社区
Web 开发
帖子详情
还是请教一个url编码问题
strayly
2008-11-14 09:27:27
我用的是tomcat server.xml设置了URIEncoding="UTF-8"
页面中如果 从文本框中输入中文 然后提交 是正常的
如果用这种UTF-8编码url形式也是正常的,
http://localhost:8080/search.jsp?keyword=%E7%BC%96%E8%BE%91
但是如果在url中直接用汉字就不行了会出现乱码
请问,如何做到 在url中用汉字 和 UTF-8的url编码 都能正常显示?
...全文
144
19
打赏
收藏
还是请教一个url编码问题
我用的是tomcat server.xml设置了URIEncoding="UTF-8" 页面中如果 从文本框中输入中文 然后提交 是正常的 如果用这种UTF-8编码url形式也是正常的, http://localhost:8080/search.jsp?keyword=%E7%BC%96%E8%BE%91 但是如果在url中直接用汉字就不行了会出现乱码 请问,如何做到 在url中用汉字 和 UTF-8的url编码 都能正常显示?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
strayly
2008-11-14
打赏
举报
回复
期待有高手来解答
rwjwjjn
2008-11-14
打赏
举报
回复
我也遇到过楼主的问题,是页面编码用gbk做的;
但是当我把所有编码的地方都设置成utf-8后;
在request.setCharacterEncoding("utf-8");
就可以用中文传递了。
建议用全部用utf-8,会少不少发麻
ziwei_1986
2008-11-14
打赏
举报
回复
为什么不用filter呢?
strayly
2008-11-14
打赏
举报
回复
楼上没太明白我的意思,我就是按上面设置的
现在url编码形式是正常的
http://localhost:8080/search.jsp?keyword=%E7%BC%96%E8%BE%91
但是如果直接在url中写中文就不行了
http://localhost:8080/search.jsp?keyword=编辑
我的意思是如何能让这两种形式都能正常
kingsam_8405
2008-11-14
打赏
举报
回复
[Quote=引用 2 楼 shuai45 的回复:]
1在tomcat中设置 URIEncoding=“UTF-8”
2在jsp中
<%@ page pageEncoding=”UTF-8″%>
<%@ page contentType=”text/html;charset=UTF-8″%>
<%request.setCharacterEncoding(”UTF-8″);%>
如果还没有效果
那就java.net.URLEncoder.encode 进行转定义
[/Quote]
同意这种做法,我以前也遇到过,不过只修改了下tomcat中的设置就可以了
大河V5
2008-11-14
打赏
举报
回复
String keyword= req.getParameter("keyword");
// Collapsed characters support (GBK->UTF-8)
keyword = new String (name.getBytes("GBK"),"UTF-8");
shuai45
2008-11-14
打赏
举报
回复
1在tomcat中设置 URIEncoding=“UTF-8”
2在jsp中
<%@ page pageEncoding=”UTF-8″%>
<%@ page contentType=”text/html;charset=UTF-8″%>
<%request.setCharacterEncoding(”UTF-8″);%>
如果还没有效果
那就java.net.URLEncoder.encode 进行转定义
strayly
2008-11-14
打赏
举报
回复
就是 通过下面两种形式都能得到正确结果
http://localhost:8080/search.jsp?keyword=%E7%BC%96%E8%BE%91
http://localhost:8080/search.jsp?keyword=编辑
该如何做?
fengyangchao2
2008-11-14
打赏
举报
回复
在.net中用UrlEncode)(url)和UrlDecode(url)可以对带中文的页面进行自动编码和反编码
在Java中应该也有相应的方法
叶子哟
2008-11-14
打赏
举报
回复
转一下就行了
先设置request的编码是国标,再
return (new String(strutf8.getBytes("ISO-8859-1"), "GBK")); //去掉前后的空格;
strayly
2008-11-14
打赏
举报
回复
楼上说的很对,我所面临的就是这个问题,不知道有没有简便的办法解决
叶子哟
2008-11-14
打赏
举报
回复
呵呵,地址栏传送时实际是用gbk的url编码了的,在IE里都做了一层处理,你服务器按这个解码肯定没问题,如果你服务在按utf-8来解码,肯定就要出错了!
你可以比较用firefox和ie传送url参数,其实你服务器收到的都是用gbk编码的urlencode数据
strayly
2008-11-14
打赏
举报
回复
我记得在php里处理这个问题非常简单
在php里 UFT-8格式下 可以直接用函数 urldecode("%E7%BC%96%E8%BE%91") 和 urldecode("编辑")
他们两个输入的结果都是"编辑";
为什么java处理起来 这么麻烦?
oracle_lover
2008-11-14
打赏
举报
回复
加入 useBodyEncodingForURI="true"
strayly
2008-11-14
打赏
举报
回复
我比较困惑的是 request.setCharacterEncoding("GBK"); 可以处理地址栏的中文
request.setCharacterEncoding("UTF-8");确不能处理地址栏的中文
我如果页面用utf-8编码,该怎么处理地址栏的中文?
strayly
2008-11-14
打赏
举报
回复
[Quote=引用 7 楼 oracle_lover 的回复:]
tomcat做web服务器时,通过地址栏传中文参数时,为防止浏览器上的为乱码需在服务器server.xml中配置对应的端口中配置编码方式即可.例如:
<Connector port="8080"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="…
[/Quote]
我试过了 通过文本框提交 可以, 但是通过地址栏直接输入中文 不行
我在jsp里 设置 request.setCharacterEncoding("GBK"); 地址栏输入中文,可以正常显示,但通过文本框 输入 就是乱码了,
因为我的页面是UTF-8 编码
但是 设置 request.setCharacterEncoding("UTF-8");确不能正确解析地址栏的中文
tujiyue
2008-11-14
打赏
举报
回复
用filter过滤也可以的,其实URL中中文变乱码对你有利
liliang1222
2008-11-14
打赏
举报
回复
[Quote=引用 7 楼 oracle_lover 的回复:]
tomcat做web服务器时,通过地址栏传中文参数时,为防止浏览器上的为乱码需在服务器server.xml中配置对应的端口中配置编码方式即可.例如:
<Connector port="8080"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" useBodyEncodingForURI="true" URIEncoding="UTF-8"/>
中加…
[/Quote]
URIEncoding="UTF-8"
oracle_lover
2008-11-14
打赏
举报
回复
tomcat做web服务器时,通过地址栏传中文参数时,为防止浏览器上的为乱码需在服务器server.xml中配置对应的端口中配置编码方式即可.例如:
<Connector port="8080"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" useBodyEncodingForURI="true" URIEncoding="UTF-8"/>
中加入useBodyEncodingForURI="true" URIEncoding="UTF-8"就可以了.
一个
简单的java爬虫产品
最近一直在研究爬虫和Lucene,虽然开始决定选用Heritrix来执行爬虫操作,但是后来发现用它来做还是存在一定的
问题
,比如需要程序生成相应的XML文件,对于同
一个
Job,怎样才能保证重复运行该Job时文件夹始终是同
一个
...
asp.net知识库
一个
时间转换的
问题
,顺便谈谈搜索技巧 .net中的正则表达式使用高级技巧 (一) C#静态成员和方法的学习小结 C#中结构与类的区别 C#中 const 和 readonly 的区别 利用自定义属性,定义枚举值的详细文本 Web标准和ASP...
php post数据
url
编码
,
请教
一个
post 请求体被
URL
编码
的
问题
今天无聊研究了一下菜刀的payload,结果发现自己发包却没有数据回显,POST 请求头相同(
问题
不在这里):// 菜刀的 headersPOST /shell....
关于对
url
编码
的转化
今天突然遇到
一个
棘手的
问题
,就是对于
url
编码
的转换。大家上网的时候经常可以发现我们输入的汉字在
url
传输的时候是%xx%xx的形式。如果我们需要提取上面的信息该怎么办呢?如果是通过类似index.aspx?name=%xx%xx还...
Asp.net关于对
url
编码
的转化
今天突然遇到
一个
棘手的
问题
,就是对于
url
编码
的转换。 大家上网的时候经常可以发现我们输入的汉字在
url
传输的时候是%xx%xx的形式。 如果我们需要提取上面的信息该怎么办呢?如果是通过类似index.aspx?name=%xx%xx...
Web 开发
81,092
社区成员
341,718
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章