Tomcat中文问题小经验

一次开发中,遇到了很头大的中文问题,起初, 为了解决中文的参数传递问题,将/conf/server.xml中的编码设置为GBK,这时,中文的问题不存在了, 包括post  get数据也是正常的。 但是中文的文件却不能下载,每次访问中文的文件时,总是报“资源找不到”。 结果,在网上一查,有人说是将/conf/server.xml中的编码改成UTF-8。结果试了一下,果然OK。但这时,get方式提交表单或者URL中有中文时,又不能正常获取了。结果又改回到了GBK编码,通过以下方式解决中文文件下载的问题

<%
String fileUrl = java.net.URLEncoder.encode(search_result_info.getUrl(),"gbk");
fileUrl = cn.com.dekn.cms.util.StrUtil.replaceAll(fileUrl,"+"," ");
fileUrl = cn.com.dekn.cms.util.StrUtil.replaceAll(fileUrl,"%2F","/");
                               
%>
<a href="<%=fileUrl%>">

即使用 java.net.URLEncode 类对URL进行编码,编码为GBK, 而后在显示这个编码后的URL。 这个URL编码后,也baidu的方式是相同的。 但是JAVA的URLEncode将空格与/符号也进行了编码,似乎编码与浏览器采用的不一致,所以我在上面特别把空格与/去除,不对它们进行编码,编码后的 + 就是原先的空格,  %2F就是/ 。 后面打算继续彻底分析这个问题。 或者写一个适用的URLEncode类。

posted on 2006-07-12 18:07  dekn  阅读(882)  评论(0编辑  收藏  举报

导航