1
私はメッセージで私に返信する電信のための簡単な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("сори");
}
、すべてが大丈夫だったが、いくつかの点で私のボットは動作を停止しました。私は動作するすべてを削除してデバッグを開始しました。そして私は興味深い結果を見つけました。
- 私の最初の試みでは、ボットは何も送信しませんでした。メッセージにはロシア語と英語の両方の記号が付いています。
- 私はロシアのシンボルを削除し、それは働いた。
- しかし、私はロシア語を1つ置き、それも働いた。
- 最初の試しボットからの正確な単語を使用したときのBUTx2は何もしませんでした。
images of results to make it clear
ことが可能であるか私に説明してください。そしてそれを解決する方法。
更新。私のスクリプトはUTF-8でエンコードされています
あなたのスクリプトのエンコーディングは? –
エンコーディングはUTF-8 –
PHP Unicodeサポートへようこそ – SeinopSys