увеличение размера с помощью javascript uriencode - PullRequest
0 голосов
/ 06 сентября 2018

У меня есть текст на китайском языке длиной 1586 символов, и код Javascript encodeURIComponent имеет длину 10522 символа, которую нельзя отправить в качестве параметра в строке URL для обработки PHP? (Слишком длинный URI сообщения об ошибке PHP)

Первый вопрос: почему кодирование увеличивается почти в 7 раз по длине строки? и второй вопрос, как обойти.

1 Ответ

0 голосов
/ 06 сентября 2018

Китайские иероглифы состоят из большего количества байтов, вы можете проверить состав отдельных символов здесь: https://mothereff.in/byte-counter, поэтому вы получите увеличение в 3 раза.

Кроме того, кодировка URI расширяет символы со специальным значением до большего количества символов с более безопасным значением: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent

Соедините их вместе, и увеличение того, что вы видите на 7, имеет смысл.

Что касается того, как обойти это, то это действительно зависит от сервера, то есть, если это настраиваемое свойство, вы можете увеличить его. Но, как другие предлагали в комментариях, если вы нажимаете на URI слишком длинные ошибки, ваш подход, вероятно, неверен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...