首页 > 解决方案 > Telegram Send Document 文件名中的俄文字符

问题描述

有一个本地文件:

$file = "some russian text here.txt";

由标准 Curl 作为文档发送:

$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: multipart/form-data']);
curl_setopt($ch, CURLOPT_URL, 'https://api.telegram.org/botToken/sendDocument');
$postFields = array(
    'chat_id' => '11111',
    'document' => new curlfile(realpath($file)),
);

curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);

$output = curl_exec($ch);

// convert response
$output = json_decode($output);

// handle error; error output
if(curl_getinfo($ch, CURLINFO_HTTP_CODE) !== 200) {

    var_dump($output);
}
curl_close($ch);

作为回应:

无效的

如果拉丁文文件的名称全部发送没有问题。我用俄语字符理解的问题。真的不可能用这个名字(用俄语符号)发送一个文件吗?

标签: phptelegramtelegram-botphp-telegram-bot

解决方案


推荐阅读