Я не нахожу способ конвертировать диакритический и специальный символ в гекса windows-1252. Например, «Отклонение» — «D% E9cision» (% E9, а не% C3% A9, заданный процедурой urlencode).
Мне нужно взломать сервер, который не принимает другой способ запросить URL, содержащий диакритические знаки или пробелы. Увидеть http://www.findinfo-tc.vd.ch/justice/findinfo-pub/html/CREC%20%28d%E8s%202011%29/HC/20160715171616483_e.html
Кто-нибудь может показать мне свет?
urlencode()
будет делать, но это ваша строка в кодировке UTF-8 (исходит из кодированного источника utf — кодировка файла, базы данных …). Вам нужно сначала изменить строку charset:
$encoded = urlencode(iconv('UTF-8', 'Windows-1252', 'Décision'));
Вы также можете сохранить такие строки в отдельном файле, который закодирован в Windows-1252 (исходный код должен лучше соответствовать utf-8) — вам не понадобится преобразование, но позже его легко пропустить и вызвать ошибку.
Других решений пока нет …