Здравствуйте, нужно предать строку сервису по рассылке SMS.
$user_email = "$email";
$user_name = mb_convert_encoding(urlencode($name), "UTF-8", mb_detect_encoding($user_name));
$user_lists = 8988615;
echo mb_detect_encoding($user_name);
echo mb_detect_encoding($name);
echo mb_detect_encoding(urlencode($name));
echo $name;
echo $user_name;
// Создаём GET-запрос
$api_url = "https://api.unisender.com/ru/api/subscribe?format=json".
"&api_key=$api_key&list_ids=$user_lists".
"&fields[email]=$user_email&fields[Name]=$user_name";
//Работает
// Делаем запрос на API-сервер
$result = file_get_contents($api_url);
Всё отправляется, но если в поле Name - русские буквы, то возвращаются кракозябры. При помощи echo вывел значения всех переменных, а так же их формат кодирования. Получается следующее - сначал методом POST на страницу приходит UTF-8, но после преобразования urlencode() получается формат ASCII при этом mb_converted - не помогает. Результат echo для верхнего кода:
ASCII
UTF-8
ASCII
Алексей
%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B5%D0%B9
В чём проблема? Уже сижу 3 часа над этим.