URL-кодировка PHP - PullRequest
       1

URL-кодировка PHP

1 голос
/ 07 мая 2011

Привет, ребята, у меня вопрос по поводу urlencode и rawurlencode ...

Я проверил их, и они дали другой результат, например Firefox и некоторые онлайн-кодировщики ...

Пример;

Firefox и кодировщики

ä = %C3%A4
ß = %C3%9F

PHP rawurlencode & urlencode

ß = %DF

ä = %E4

У кого-нибудь есть идеи, кроме жесткого кодирования и замены?

Приветствия

Ответы [ 2 ]

3 голосов
/ 07 мая 2011

Они выдают разные выходные данные, потому что вы предоставили разные входные данные, то есть разные кодировки символов: Firefox использует UTF-8 , а ваш PHP-скрипт использует Windows-1252 . Хотя в обоих наборах символов символы находятся в одной и той же позиции (ß = 0xDF, ä = 0xE4), т. Е. Имеют одинаковую кодовую точку, они кодируют эту кодовую точку по-разному:

 CP   | UTF-8  | Windows-1252
------+--------+--------------
 0xDF | 0xC39F |         0xDF
 0xE4 | 0xC3A4 |         0xE4

Используйте ту же кодировку символов (предпочтительно UTF-8), и вы получите тот же результат.

0 голосов
/ 07 мая 2011

может быть base64 кодировать и использовать в постах, чтобы посетители не боялись этого URL? Арсен

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