Я сделал простой php-бот для телеграммы, который отвечает мне сообщением. Код:Не удается отправить сообщение с русскими символами с помощью Telegram Bot
<?php
set_time_limit(0);
function SendMessage($message){
global $website, $chatId;
file_get_contents($website."/sendmessage?chat_id=".$chatId."&text=".$message);
}
$botToken = "my token";
$website = "https://api.telegram.org/bot".$botToken;
$content = file_get_contents("php://input");
$update = json_decode($content, TRUE);
$message = $update["message"];
$chatId = $message["chat"]["id"];
$text = $message["text"];
if ($text == "/start") {
SendMessage("welcome, it's nice to meet you");
} else {
SendMessage("сори");
}
И все было хорошо, но в какой-то момент мой бот перестал работать. Я начал отлаживать его, удалив все, что работает. И я нашел интересный результат.
- В моей первой попытке бот ничего не посылал. В сообщении появились как русские, так и английские символы.
- Во-вторых, я удаляю русские символы, и это сработало.
- НО В третьем я поставил одно русское слово, и оно тоже сработало.
- BUTx2, когда я использовал точное слово с первой попытки, бот ничего не делал.
images of results to make it clear
Пожалуйста, объясните мне, как это возможно. И как его решить.
ОБНОВЛЕНИЕ. Мой скрипт закодирован в UTF-8
Какова кодировка вашего скрипта? –
кодировка UTF-8 –
Добро пожаловать в поддержку PHP Unicode – SeinopSys