You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Telegram Bot API sendMessage函数疑似Bug:含空格+H文本无法发送?

问题解析:Telegram Bot API sendMessage含"空格+H"发送失败

这不是Telegram Bot API的Bug,核心原因是未对URL请求参数做正确的编码处理。

具体原因

当直接拼接URL参数时,文本中的空格会被HTTP协议视为URL的分隔符,导致Telegram API无法正确解析text参数的完整内容。即使未指定parse_mode=HTML,未编码的空格也会引发请求格式错误;如果开启了HTML解析模式,部分字符组合可能触发Telegram的HTML规则校验,进一步导致请求失败。

解决办法

在PHP中,必须使用urlencode()函数对text参数进行URL编码,确保所有特殊字符(包括空格)被转换为HTTP协议可识别的格式:

$path = "https://api.telegram.org/YOURBOTAPI";
$text = urlencode("My name is Julia Hi");
file_get_contents($path."/sendmessage?chat_id=".$A_CHATID."&text=".$text);

如果使用parse_mode=HTML,还需要额外转义HTML特殊字符(如<、>、&),避免被Telegram误解析为HTML标签。

补充说明

HTTP协议要求URL中的查询参数必须经过编码,这是通用规则,并非Telegram API的特殊限制。只要正确编码参数,包含"空格+H"或其他特殊字符的文本都能正常发送。

内容的提问来源于stack exchange,提问作者Extrange planet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 01:42:17