最新消息:

ISAPI_Rewrite3.x版本中文URL乱码的解决方案

杂项 feifei 1833浏览

ShopEx网店系统、Discuz论坛等的伪静态规则都存在中文编码问题。

在用 ISAPI_Rewrite 1.3 版的时,只要对URL进行 UrlEncode 处理,就可以正常接收到中文。

但是如果换为 3.1版以后 GB2312 的接收页面就是乱码了。

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

在RewriteRule 规则中添加 NU 即可恢复正常。

关于ISAPI_Rewrite中文变乱码解决方法如下:

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

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

参考代码:

Discuz伪静态中个人空间规则修改:

RewriteRule ^space-(username|uid)-(.+)\.html$ home.php?mod=space&$1=$2&%1 [NU]

ShopEx伪静态中中文字符搜索问题,修改规则如下:

RewriteRule ^(.*)$ index.php?$1 [QSA,NU,PT,L]

红色即为添加或修改部分。

转载请注明:飞飞的个人网站 » ISAPI_Rewrite3.x版本中文URL乱码的解决方案