+
88
-

js中的encodeURIComponent编码与php中的rawurlencode编码为啥不一样?

js中的encodeURIComponent编码与php中的rawurlencode编码为啥不一样?

特别是对'的编码,php中rawurlencode会对‘转换成’%27,而js中的encodeURIComponent不会,有什么解决办法?

网友回复

+
30
-

encodeURIComponent与rawurlencode主要区别在于单引号的处理:

JS的encodeURIComponent保留单引号不编码

PHP的rawurlencode会将单引号编码为%27

我们自定义js端的encodeURIComponent:

// 前端使用自定义编码函数
function phpUrlencode(str) {
  return encodeURIComponent(str)
    .replace(/'/g, '%27')  // 单引号转换为%27
    .replace(/!/g, '%21...

点击查看剩余70%

我知道答案,我要回答