首页 > 解决方案 > javascript uriencode 增加大小

问题描述

我有一个 1586 个字符长的中文文本,而 Javascript encodeURIComponent 最终有 10522 个字符长,不能作为 URL 行中的参数发送给 PHP 处理?(PHP 错误信息 URI 太长)

第一个问题是为什么 encode 的字符串长度增加了近 7 倍?第二个问题是如何绕过。

标签: javascriptphpencode

解决方案


汉字是由更多的字节组成的,你可以在这里查看单个字符的组成:https ://mothereff.in/byte-counter这样你就可以得到 3 倍的增长。

此外,URI 编码将具有特殊含义的字符扩展为更多具有更安全含义的字符:https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent

把这两者放在一起,你所看到的增加 7 是有道理的。

至于如何绕过它,它真的取决于服务器,即如果它是一个可配置的属性,你可以增加它。但是正如其他人在评论中所建议的那样,如果您遇到 URI 太长的错误,您的方法可能是错误的。


推荐阅读