修正访问utf-8页面中中文Tag时出错的问题
在使用chrome,ff,opera,safari等浏览器, 访问本CMS的中文Tag时(譬如/Tag/?Article/条件注释, 非常规的/?tag=中文形势), 会提示Tag不存在. 调试得知所有包含中文Tag的链接在请求前其中的中文均被编码为三个字节. 更详细的UTF-8的三字节描述请看这里.
我这里没有使用其他函数, 而是使用了javascript的decodeURIComponent. 服务器端代码如下
<script language="JavaScript" runat="server"> function JS_UTF8_URLDecode(str){ try{return decodeURIComponent(str)} catch(e){return ""} } </script>
对获取的Request.QueryString添加此方法, 即 JS_UTF8_URLDecode(Request.QueryString())