织梦网站入侵方法,wordpress英文版,中国服务器龙头企业,会员类网站模板escape#xff1a;由于它已经被废弃#xff0c;不建议在任何新的代码中使用。encodeURI#xff1a;当你需要对整个URI进行编码时使用#xff0c;例如在将整个URL作为参数传递时。encodeURIComponent#xff1a;当你需要编码URI中的某一部分#xff0c;尤其是查询字符串参…escape由于它已经被废弃不建议在任何新的代码中使用。encodeURI当你需要对整个URI进行编码时使用例如在将整个URL作为参数传递时。encodeURIComponent当你需要编码URI中的某一部分尤其是查询字符串参数时使用。
记录一下js 和php 之间的 URL转码问题
直接结论
escape 不建议使用新的js都不支持了以前的转码功能
var encodedString escape(Hello World!);
var decodedString unescape(encodedString);
console.log(decodedString); // 输出: Hello World!encodeURI 这个会保留http:// 这些我感觉总出问题就是他的原因这个时候跳转页面时候用
var encodedURI encodeURI(http://www.example.com/a b c.html?name张三age20);
var decodedURI decodeURI(encodedURI);
console.log(decodedURI); // 输出: http://www.example.com/a b c.html?name张三age20encodeURIComponent 推荐这个最彻底携带参数最好这个时候当参数用
var encodedURIComponent encodeURIComponent(name张三age20);
var decodedURIComponent decodeURIComponent(encodedURIComponent);
console.log(decodedURIComponent); // 输出: name张三age20还有会把数据传递到后端php 解析 用 rawurldecode 函数
?php
// 假设这是由encodeURIComponent()编码的字符串
$encodedString name%E5%BC%A0%E4%B8%89age20;
// 使用rawurldecode()来解码
$decodedString rawurldecode($encodedString);
// 输出解码后的字符串
echo $decodedString; // 输出: name张三age20
?如果用php反向 对比 用 http_build_query函数注意转换之后的对比好像对汉字不是特别友好
mixed http_build_query ( mixed $data [, string$numeric_prefix [, string $arg_separator [, int$enc_type PHP_QUERY_RFC1738 ]]] )$data: 你想要转换成查询字符串的数组或对象。$numeric_prefix: 如果数组中有数字键这个参数将作为数字键的前缀。$arg_separator: 查询字符串中的参数分隔符默认是。$enc_type: 指定如何编码URL。默认是PHP_QUERY_RFC1738这会使用urlencode()来编码。如果设置为PHP_QUERY_RFC3986则会使用rawurlencode()来编码。