ISAPI_Rewrite中文變亂碼的解決方法

Web開發者發表於2012-12-17

  以前使用ISAPI_Rewrite 2.x中傳輸中文需要進行UrlEncode編碼即可。

  現在換用了 ISAPI_Rewrite 3.x 發現編碼後的字元會變成亂碼,如果直接使用中文不編碼,則會被格式化為GBK字串。

  翻了手冊,發現有一個配置引數可以解決該問題:

  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.

  在你的RewriteRule 規則後臺新增 NU 即可恢復正常。

  關於ISAPI_Rewrite中文變亂碼解決方法,無論何種情況,統一解決思想:

  1、在傳輸URL時,將中文進行urlencode,這樣是沒錯的。

  2、如果是ISAPI_Rewrite 3.x 只需新增 NU 引數即可。

  配置舉例:

  傳遞的URL地址:

  http://www.example.com/search-%e4%b9%b1%e7%a0%81.html

  相應的RewriteRule:

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

相關文章