<= 戻る

ASECOのVoteメッセージが表示されないことがある問題

DedicatedServerのVote(Playerの追い出しや禁止、ChallengeリスタートやNextChallenge)はちゃんと表示されるのに ASECOの「/add」コマンドなどでのVoteだとメッセージが表示されないことがある

これはNickNameに日本語(というかマルチバイト文字)を使用している人が「/add」などのコマンドを使用してVote(投票)を開始すると ASECO内部での処理により NickNameが文字化け、それ以降の文章も全部文字化けして表示できなくなってしまうっぽい

これをなんとかしてみる

aseco.php 2044行目あたり

$this->_vote_text = htmlentities($player->nickname) . ' $zasks: ' . trim($vote_text) . '? ';
↓ ↓ ↓ ↓ ↓
$this->_vote_text = htmlspecialchars($player->nickname) . ' $zasks: ' . trim($vote_text) . '? ';

$player->nicknameにNickNameが入ってるんだと思うんですが、htmlentitiesが マルチバイト文字のコードまで変換してしまってるっぽい
htmlentities($player->nickname, UTF-8)と文字コードを指定してもみたのですが、上手くいかなかったので htmlspecialcharsでの変換に切り替えてみました

これでNickNameにマルチバイト文字が入っていても、ちゃんと表示されるようになりました(;´ω`)

<= 戻る