iis映射java,着急urlrewrite+IIS下映射中文目录名乱码,求解!该怎么处理

博主在IIS下使用URLRewrite整合Tomcat时遇到中文目录名显示为乱码的问题。配置了UTF-8编码但80端口仍然出现乱码。尝试了不同字符数的关键词,发现奇数个汉字时结果错误,偶数个则正常。解决方案可能涉及URL编码转换。
摘要由CSDN通过智能技术生成

当前位置:我的异常网» Java Web开发 » 着急urlrewrite+IIS下映射中文目录名乱码,求解!该

着急urlrewrite+IIS下映射中文目录名乱码,求解!该怎么处理

www.myexceptions.net  网友分享于:2013-01-25  浏览:139次

着急:urlrewrite+IIS下映射中文目录名乱码,求解!

先说说我的运行环境:urlrewrite-2.6.0.jar,TOMCAT   5.0.X,   JDK   1.4.X,win2000下使用IIS

整合技术将80端口配置到我的域名www.abc.com上。

WEB-INF中通过FILTER控制编码为UTF-8.

我希望将如下的访问:

http://www.abc.com/search/search.jsp?keys=%E6%9E%97%E4%BF%8A%E6%9D%B0

(keys是中文,直接访问没有问题)

映射成http://www.abc.com/search/keys/%E6%9E%97%E4%BF%8A%E6%9D%B0

(问题出现了,得不到正确结果,问号出现)

现象是:8081端口下,也就是不通过IIS   ISAPI   是完全没有问题的。

但是80端口就出现乱码。无法得到正常的查询结果,明显的keys变成了问号。

求解?   貌似同时做过IIS+urlrewrite+中文   的人不多,因为我网上查询的所有文章都没有提到过

中文或者编码的问题。

urlrewrite.xml配置如下:

urlrewrite

PUBLIC   "-//tuckey.org//DTD   UrlRewrite   3.0//EN "

"http://tuckey.org/res/dtds/urlrewrite3.0.dtd ">

/search/keys/(.*)$

/search/search.jsp?keys=$1

TOMCAT的server.xml代码片段:

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

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

debug= "0 "   connectionTimeout= "20000 "

disableUploadTimeout= "true "     useBodyEncodingForURI= "true "

URIEncoding= "UTF-8 "/>

enableLookups= "false "   redirectPort= "443 "   debug= "0 "

protocol= "AJP/1.3 "   useBodyEncodingForURI= "true "   URIEncoding= "UTF-8 "/>

以上配置可以保证在8081下mneiyou任何问题。

但是AJP/1.3的8009下面我也配置useBodyEncodingForURI= "true "   URIEncoding= "UTF-8 "   了。

此外,还有个奇怪的现象:

我尝试j将     /search/search.jsp?keys=$1

修改成   /search/search.jsp?keys=$1   重定向的模式。

非常奇怪的现象出现了。当汉字是奇数时结果错误,偶数汉字时   正常。

控制台打印   取得的keys   汉字变成“周杰?”

------解决方案--------------------

先转化成utf-8,然后再转化成gb2312

文章评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值