您的位置:首页 > 其它

页面处理URL参数出现中文问题

2012-10-25 13:43 357 查看
  我们从数据库取出数据到页面显示的时候,有时候在进行传参的过程中,URL地址栏中可能会出现中文现象,有些浏览器可能会对中文的支持,比如:火狐、IE7以上等等,这些浏览器会自己进行中文转码,而IE6下面当出现中文的时候会出现乱码现象,或者我们地址栏中不希望出现中文,我们可以使用如下方法来进行处理;

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为参数中请求的中文信息

这样我们的中文就得到很好的处理!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: