Ошибка Telegram API со словами на фарси
Я пытался отправить сообщение фарси с сервера на телеграмму, и я получил эту ошибку:
Предупреждение PHP: file_get_contents ( https://api.telegram.org/botTOKEN/sendmessage?parse_mode=html&chat_id=CHAT_ID&text=%D8%A7%DB%8C%D9%85%D9%86%D8%AF+%D9%88%D8%A8%E2%80%8C%D8%B3%D8%A7%DB%8C%D8%AA%DB%8C+%D8%0A+%0A%3Ca+href%3D%22https%3A%2F%2FURL%22%3E%D9%88%D8%A8%E2%80%8C%D8%B3%D8%A7%DB%8C%D8%AA+%D8%A7%DB%8C%D9%85%D9%86%D8%AF+-+%D8%A7%DB%8C%D8%AF%D9%87+%D8%A8%D8%B2%D9%86%21%3C%2Fa%3E%0A%40URL): не удалось открытый поток: HTTP-запрос не выполнен! HTTP/1.1 400 неверный запрос
Может кто-нибудь мне помочь? Я предполагаю, что проблема в языке фарси и кодировании URL, но я не знаю, как ее решить.
1 ответ
Ваш text
должен быть правильно закодирован URL. Вы можете сделать это с urlencode($text)
,
Чтобы ваш URL работал, вы должны удалить %D8
сразу после появления второго +
знак.
%D8%A7%DB%8C%D9%85%D9%86%D8%AF+%D9%88%D8%A8%E2%80%8C%D8%B3%D8%A7%DB%8C%D8%AA%DB%8C+%0A+%0A%3Ca+href%3D%22https%3A%2F%2FURL%22%3E%D9%88%D8%A8%E2%80%8C%D8%B3%D8%A7%DB%8C%D8%AA+%D8%A7%DB%8C%D9%85%D9%86%D8%AF+-+%D8%A7%DB%8C%D8%AF%D9%87+%D8%A8%D8%B2%D9%86%21%3C%2Fa%3E%0A%40URL