Вы кодировать ú
в UTF-8 (проверьте кодировку вашего примера кода), так urlencode
делает правильно кодировать его, как %C3%BA
.
Вы были более или менее со ссылкой на это:
$str = "\xFA"; # ú in LATIN-1
echo $str . ' -> ' . urlencode($str) . "\n" ;
Что дает вам ваш ожидаемый результат, независимо от того насколько вы закодировать PHP-код/-файл:
ú -> %FA
Demo, что сайт использует UTF-8 для хранения исходного кода. Если вы хотите выводить отображаемую в Latin-1, это additional example сигнализирует о брАузЕре LATIN-1 кодовый:
header('Content-Type: text/html; charset=latin-1');
$str = "\xFA"; # ú in LATIN-1
echo $str . ' -> ' . urlencode($str) . "\n" ;
Какая у вас проблема? Вы думаете, что пример лжет? – hakre
[Не верьте никому, о чем рассказывают w3schools] (http://w3fools.com/) – DaveRandom
Я ожидаю, что thar urlencode ('ú') вернет% FA вместо% C3% BA – texai