ISAPI_Rewrite 3.1 中文URL乱码的解决方案

本文解决ISAPI_Rewrite3.x在处理中文URL时出现乱码的问题,通过配置参数'nounicode|NU'来解决。提供了解决思路和实例,帮助开发者快速定位并解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

但是现在换为 3.1版以后 GB2342 的接收页面就是乱码了。

现在换用了 ISAPI_Rewrite 3.x 发现编码后的字符会变成乱码,如果直接使用中文不编码,则会被格式化为GBK字符串。
 

因为 ISAPI_Rewrite 默认是以 UTF-8 的编码接收的。

解决方案是


翻了手册,发现有一个配置参数可以解决该问题:

nounicode|NU

If NU flag is set, transformation from Unicode to UTF-8 will not take place and all Unicode characters remain encoded in %xx format.

nounicode|NU

如果标志设置,从Unicode转换为UTF-8不会发生,所有的Unicode字符编码为%xx的保持格式


在你的RewriteRule 规则后台添加 NU 即可恢复正常。

关于ISAPI_Rewrite中文变乱码解决方法,无论何种情况,统一解决思想:

1、在传输URL时,将中文进行urlencode,这样是没错的。

2、如果是ISAPI_Rewrite 3.x 只需添加 NU 参数即可。

配置举例:

传递的URL地址:

http://tech.cncms.com/search-%C6%BB%B9%FB.html

相应的RewriteRule:

RewriteRule ^/search-(.*)\.html$ /search\.do\?keyword=$1 [QSA,NU,PT,L]

最后,

无论使用哪家的产品,多看看产品手册是没错的,一般问题与使用方法在手册中都有完整的讲解。比如这次的 ISAPI_Rewrite 就是一个很好的说明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值