shopex ISAPI_Rewrite3.x中文乱码解决办法
发布:smiling 来源: PHP粉丝网 添加日期:2015-03-24 14:51:47 浏览: 评论:0
现在换用了 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,这样是没错的,把最后一句的规则添加个NU参数,RewriteRule ^(.*)$ index.php?$1 [QSA,NU,PT,L]
配置举例:
传递的URL地址,代码如下:
http://www.phpfensi.com/sell/search-htm-kw-%C6%BD%B0%E5%B5%E7%C4%D4.html
原来相应的RewriteRule为:
RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
修正后的规则是:
RewriteRule ^(.*)-htm-(.*)$ $1.php?$2 [NU]
shopex原规则为:
- RewriteBase /
- RewriteCond %{REQUEST_FILENAME} .(html|xml|json|htm|php|php2|php3|php4|php5|phtml|pwml|inc|asp|aspx|ascx|jsp|cfm|cfc|pl|cgi|shtml|shtm|phtm|xml)$
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteRule ^(.*)$ index.php?$1 [L]
修改后的规则为:
- RewriteBase /
- RewriteCond %{REQUEST_FILENAME} .(html|xml|json|htm|php|php2|php3|php4|php5|phtml|pwml|inc|asp|aspx|ascx|jsp|cfm|cfc|pl|cgi|shtml|shtm|phtm|xml)$
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteRule ^(.*)$ index.php?$1 [NU,L]
Tags: shopex ISAPI_Rewrite3
相关文章
- ·SHOPEX网店应该如何做百度的SEO优化?(2014-06-19)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)