PHPrawurlencode和URLEncode函数进行了深入的分析

问题:2个函数是字符串,意思是使它适合作为文件名。我应该使用哪一个哪个更标准

结论:
rawurlencode仪式是94年的国际标准备忘录RFC 1738,
URLEncode是传统的做法,和主要的区别是逃避的空间是+而不是% 20
Javascript的encodeurl也是94年标准。

而Javascript的逃逸则是另一种使用xxx标记Unicode的方法。

建议在PHP中使用rawurlencode丢弃URLEncode。

样品
源:

超级无敌的人sadha sajdh数据样本SDLs fhejrthcxzb.file.jpeg

PHP urlencode:
% % % % 85% E7 E8 B6八% % % % 97% A0 A7 E6 E6 E7 % % % 95% 8C 9a % % % 84% E4 BA basadha + sajdh % % % % 95% B0 E6 E6 8d % % % % AE E6 A0 B7 % % % acsdls + fhejrthcxzb.file.jpeg 9c E6

PHP rawurlencode:
% % % % 85% E7 E8 B6八% % % % 97% A0 A7 E6 E6 E7 % % % 95% 8C 9a % % % % 84% E4 BA basadha 20sajdh % % % % 95% B0 E6 E6 8d % % % % AE E6 A0 B7 % % % % 20fhejrthcxzb.file.jpeg acsdls 9c E6

Javascript encodeURI:
% % % % 85% E7 E8 B6八% % % % 97% A0 A7 E6 E6 E7 % % % 95% 8C 9a % % % % 84% E4 BA basadha 20sajdh % % % % 95% B0 E6 E6 8d % % % % AE E6 A0 B7 % % % % 20fhejrthcxzb.file.jpeg acsdls 9c E6

Javascript的逃脱:
% % % % u8d85 u7ea7 u65e0 u654c % % % % u7684 u4ebasadha 20sajdh u6570 % % % % 20fhejrthcxzb.file.jpeg u672csdls u636e u6837