锁定老帖子 主题:令人恼火的UTF-8中文问题
该帖已经被评为隐藏帖
|
|
---|---|
作者 | 正文 |
发表时间:2006-10-27
好像有个URLEncode方法吧,
|
|
返回顶楼 | |
发表时间:2006-10-27
|
|
返回顶楼 | |
发表时间:2006-10-27
直接一个filter?怎么弄?
|
|
返回顶楼 | |
发表时间:2006-10-27
hi_liuyang 写道 好像有个URLEncode方法吧,
这个是正解。 JavaScript和Java里都有。 |
|
返回顶楼 | |
发表时间:2006-10-27
这个我记得是Tomcat的bug, 对URL它直接用系统的字符集进行解码.
好像新版的IE默认都是通过UTF-8发送URL的, URLEncode并不能直接解决这个问题,因为它只处理字节的编码,而从16位的Unicode码到字节数组的转换过程才是字符集起作用的地方. 就我的经验来看这个问题只有一个比较正规的解决方法, 就是设置Tomcat的启动java命令行, 加上 -Dfile.encoding=UTF-8 这样一个参数, 可以设到 CATALINA_OPTS 变量上去. new String(url.getBytes("ISO_8859_1")); 类似的解决方案不仅白白消耗CPU的电能增加地球温室效应, 也比较容易被变化的客户端编码击败. |
|
返回顶楼 | |
发表时间:2006-10-27
tomcat的bug
你可以在一个context建几个中文的文件夹,显示正常,但是点击进入就是报错 resin就没这个问题,直接扔一个utf-8编码过的url给它是正常的 |
|
返回顶楼 | |
发表时间:2006-10-28
没搞错的话
http://localhost:8080/csj/ch04/testServlet?name=java.net.URLEncoding("牛人"); |
|
返回顶楼 | |
发表时间:2006-10-28
觉得通过URL传过去的参数是GBK来的,而LZ则在后台把它转换成UTF-8肯定会乱码了。
你看看,baidu, google等搜索引擎都是通过%EA%来做的 |
|
返回顶楼 | |
发表时间:2006-10-30
我也碰到这种问题.
用URLEncoding |
|
返回顶楼 | |
发表时间:2006-10-30
页面加上
<%@ page pageEncoding="UTF-8" contentType="text/html; charset=utf-8" %> Servlet中不用编码了,默认用服务器编码 |
|
返回顶楼 | |