Строки одинаковые, но разные внутри. Зачем? Один из $ _GET и второй из $ var = & quot; & quot;

Я получаю любопытные результаты от URL в разных браузерах.

У меня был этот URL в

example.com&nam=Oprava skúškovej písomky 2012-2013.png

Этот URL был интерпретирован в Сафари:

example.com&nam=Oprava%20sk%C3%BA%C5%A1kovej%20p%C3%ADsomky%202012-2013.png

И в Хром URL разные:

example.com&nam=Oprava%20sku%CC%81s%CC%8Ckovej%20pi%CC%81somky%202012-2013.png

Почему это случилось? Потому что ссылка Safari работает с картинкой, а ссылка Chrome не работает.

И любопытный персонал до конца это:

echo "<br>".var_dump($_GET['nam']);
echo "<br>".var_dump("Oprava skúškovej písomky 2012-2013.png");

Результаты

string(41) "Oprava skúškovej písomky 2012-2013.png"string(44) "Oprava skúškovej písomky 2012-2013.png"

Эти строки выглядят одинаково, но они разные. Как я могу избежать этого? Я хочу две одинаковые строки.

0

Решение

В сафари наш словацкий ú кодируется как %C3%BA:

example.com&Nam = Oprava% 20sk% C3% BA% C5% A1kovej% 20p% C3% ADsomky% 202012-2013.png

И в Chrome его кодируется как u + ´, и это u + %CC%81, а также s + ˇ является s + %CC%8C:

example.com&Nam = Oprava% 20sku% CC% 81s% CC% 8Ckovej% 20pi% CC% 81somky% 202012-2013.png

Но это не имеет значения, когда его декодируют обратно, это та же строка.

И в вашем var_dump у вас есть разные строки:

echo "<br>".var_dump($_GET['nam']);
echo "<br>".var_dump("Oprava skúškovej písomky 2012-2013.png");

Во втором у вас есть (пробел) в конце.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]