我有一个中文文本,长度为1586个字符,而Javascript encodeURIComponent的结尾长度为10522个字符,不能作为URL行中的参数发送给PHP处理吗? (PHP错误消息URI太长)
第一个问题是为什么编码的字符串长度增加近7倍?第二个问题是如何解决。
答案 0 :(得分:0)
汉字由更多字节组成,您可以在此处检查各个字符的组成:https://mothereff.in/byte-counter,以便将字符数增加3倍。
此外,URI编码将具有特殊含义的字符扩展为具有更安全含义的更多字符:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent
将这两种方法放在一起,然后将看到的值增加7即可。
关于如何解决它,它实际上取决于服务器,即,如果它是可配置的属性,则可以增加它。但是正如其他人在注释中建议的那样,如果您遇到URI太长的错误,则您的方法可能是错误的。