Telegram API 波斯语单词错误

Telegram API Error with Farsi words

我试图从服务器向电报发送波斯语消息,但我收到了这个错误:

PHP Warning: 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): failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request

谁能帮帮我?我想问题出在波斯语和 URL 编码上,但我不知道如何解决。

您的 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