Я получаю любопытные результаты от 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"
Эти строки выглядят одинаково, но они разные. Как я могу избежать этого? Я хочу две одинаковые строки.
В сафари наш словацкий ú
кодируется как %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");
Во втором у вас есть (пробел) в конце.
Других решений пока нет …