html中,对于带中文的URL,IE显示中文乱码,其他浏览器显示正常的解决办法

三种常用的js编码函数

  • escape()
    不能直接用于URL编码,它的真正作用是返回一个字符的Unicode编码值。escape()不对"+"编码 主要用于汉字编码,现在已经不提倡使用。
  • encodeURI()
    是Javascript中真正用来对URL编码的函数。 编码整个url地址,但对特殊含义的符号"; / ? : @ & = + $ , #",也不进行编码。需要注意的是,它不对单引号’编码。对应的解码函数是:decodeURI()。
  • encodeURIComponent()
    能编码"; / ? : @ & = + $ , #"这些特殊字符。对应的解码函数是decodeURIComponent()。

适用场合:encodeURI被用作对一个完整的URI进行编码;encodeURIComponent被用作对URI的一个组件进行编码。

问题描述:

使用百度地图的URL API显示一个地点标注的时候,IE下中文显示乱码,谷歌显示正常。

解决方法:(使用encodeURI())

<a id="baidu_url" <a="" href="javascript:void(0)" onclick="bdmap()">
<script type="text/javascript">
function bdmap(){
var url = "http://api.map.baidu.com/marker?location=0,0&title=地点标题&content=地点名称&output=html&src=webapp.baidu.openAPIdemo";
window.open(encodeURI(url));}
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值