"http://site.com/?test=Что это"
получить такую: "http://site.com/?test=%D0%A7%D1%82%D0%BE+%D1%8D%D1%82%D0%BE"
? $url = 'https://example.com/files/file-название файла (1).docx';
$url = preg_replace_callback(
'/[а-яА-Я\s]+/ui',
static function ($matches) {
return rawurlencode($matches[0]);
},
$url
);
// https://example.com/files/file-%D0%BD%D0%B0%D0%B7%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D1%84%D0%B0%D0%B9%D0%BB%D0%B0%20(1).docx