页面处理URL参数出现中文问题
2012-10-25 13:43
357 查看
我们从数据库取出数据到页面显示的时候,有时候在进行传参的过程中,URL地址栏中可能会出现中文现象,有些浏览器可能会对中文的支持,比如:火狐、IE7以上等等,这些浏览器会自己进行中文转码,而IE6下面当出现中文的时候会出现乱码现象,或者我们地址栏中不希望出现中文,我们可以使用如下方法来进行处理;
1)在js代码中处理地址栏:
转码后的地址信息:http://www.baidu.com/?u=%E4%BD%A0%E5%A5%BD&k=%E5%A4%A7%E5%AE%B6
2)当我们的地址信息使用a标签写在页面中的时候,我们就不能使用js中的encodeURI方法了,这时,我们可以进行如下的处理:
得到的结果和上面一样,有时候我们可能会使用循环标签:
同样会对我们每一个出现中文的url地址进行转码,这样我们在传参的时候就不会出现中文的现象啦!
3)有时候传入到后台可能会出现乱码的现象,我们可以在后台用代码进行相应的解码:
http://search.do?query=%E5%A4%A7%E5%AE%B6
URLDecoder.decode(this.query,"utf-8"),query为参数中请求的中文信息
这样我们的中文就得到很好的处理!!
1)在js代码中处理地址栏:
<script type="text/javascript"> window.location.href=encodeURI("http://www.baidu.com?u=你好&k=大家"); </script>
转码后的地址信息:http://www.baidu.com/?u=%E4%BD%A0%E5%A5%BD&k=%E5%A4%A7%E5%AE%B6
2)当我们的地址信息使用a标签写在页面中的时候,我们就不能使用js中的encodeURI方法了,这时,我们可以进行如下的处理:
<script type="text/javascript"> document.write('<li><a href="'+encodeURI("http://www.baidu.com?u=你好&k=大家")+'">退出</a></li>'); </script>
得到的结果和上面一样,有时候我们可能会使用循环标签:
<c:forEach var="dishType" items="${searchCount}"> document.write('<li><a href="'+encodeURI("http://www.baidu.com?type=${dishType.type_name}&hell0=你没得")+'">退出</a></li>'); </script> </c:forEach>
同样会对我们每一个出现中文的url地址进行转码,这样我们在传参的时候就不会出现中文的现象啦!
3)有时候传入到后台可能会出现乱码的现象,我们可以在后台用代码进行相应的解码:
http://search.do?query=%E5%A4%A7%E5%AE%B6
URLDecoder.decode(this.query,"utf-8"),query为参数中请求的中文信息
这样我们的中文就得到很好的处理!!
相关文章推荐
- 页面处理URL参数出现中文问题
- JSP页面中超链接传递中文参数出现乱码问题解决方法
- asp.net页面通过URL参数传值中文乱码问题解决办法
- 密码中有特殊的字符IOS如何处理 IOS中URL包含中文参数的问题
- dtree中url参数中中文参数的传递,出现乱码问题的解决。
- jsp页面 URL传中文参数到Action里面出现乱码,用过滤器和控制器都解决
- asp.net页面通过URL参数传值中文乱码问题解决办法
- 在url中传递汉字到另外一个页面后,出现中文乱码的问题解决
- 密码中有特殊的字符IOS如何处理 IOS中URL包含中文参数的问题
- C# asp.net页面通过URL参数传值中文乱码问题解决办法
- JSP页面通过URL传递中文参数出现中文乱码的解决方法
- asp.net页面通过URL参数传值中文乱码问题解决办法
- 访问url中存在中文,apache 重写出现403问题处理方案
- JSP内置对象(包括request和response)以及解决url传中文参数出现乱码问题
- jsp通过URL向页面传递中文参数乱码问题
- 解决Java中URL传递中文参数时出现乱码的问题
- C# asp.net页面通过URL参数传值中文乱码问题解决办法
- C# asp.net页面通过URL参数传值中文乱码问题解决办法
- C# asp.net页面通过URL参数传值中文乱码问题解决办法
- jsp页面url参数传中文乱码问题