javascript 和php 内置实现 url 的编码和解码

#1  javascript encodeURI 和 decodeURI:

encodeURI函数可以把任意的字符作为URI进行编码,而decodeURI函数可以对经过encodeURI编码过的字符进行解码还原。

浏览器端发起请求时包含有中文字符作为参数时,可能会使用到,并在服务器端做utf-8转gbk或者gb2312的转码处理,否则可能会出现乱码。

 

#2  php urlencode和 urldecode:

对应javascript的encodeURI和urldecode的服务器PHP语言的实现,一般将中文字符做urldecode的处理后再会传到浏览器端,能正确显示为中文。

 

#3 代码:

javascript:

var code = encodeURI("中文字符");     
alert(code);
var decode = decodeURI(code);
alert(decode);

 

php:

//等同于javascript encodeURI("中文字符");
$code = urlencode(iconv("gb2312", "UTF-8", "中文字符"));

echo $code;

//等同于javascript decodeURI("%E4%B8%AD%E6%96%87%E5%AD%97%E7%AC%A6");

$decode = iconv("utf-8","gb2312",urldecode("%E4%B8%AD%E6%96%87%E5%AD%97%E7%AC%A6")); 
echo $decode;

 

 

转载于:https://my.oschina.net/u/237722/blog/270788

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值