2377 への返信

match関数での2バイト文字がマッチングできないnori - No.2377
スクリプトにて、
match関数および比較演算子での比較でも
2バイト文字では正常にマッチングできません。
スクリプトは問題ないと思いますが、
他に関係する設定があるのでしょうか。
textの値は、問題ありませんでした。

function event::onChannelText(prefix, channel, text)
if (text.match(/テスト/){
log(text);
return;
}
if (text == 'テスト'){
log(text);
return;
}
}

お手数おかけしますが、よろしくお願いします。
Le - No.2378
こちらの環境(IE8.0,WindowsXP)では、matchメソッドでのマッチングでも、等価演算子(==)のマッチングでも「テスト」という文字列を正確にマッチングさせることが出来ました。
この問題はOSやブラウザのバージョン等環境に依存したり、スクリプトの構文ミスの問題である可能性があります。
実際、上記のスクリプトには間違いがあります。
(Line1:"{"が抜けている。Line2:")"が抜けている)

また、情報が古い(2000年)ので関係無いとは思いますが、気になる記事を見つけたので参考にどうぞ。
http://www.tohoho-web.com/lng/199912/99120439.htm
nori - No.2401
返事が遅くなってすみません。
ありがとうございました。

スクリプトのエンコードタイプがEUCだったためでした。
UTF-8に変えたことで正常に動作するようになりました。

基本的なことかもしれませんが、お手数おかけしました。

以下の項目を必ず守ってください。守っていない書き込みは無視されるかも知れません。

あなたにとっては1回の質問でも、答える側は1回ではないことを理解してください。

  • 文章はきちんと状況が伝わるように丁寧に書いてください。
  • 話し言葉での書き込みは禁止します。
  • 過去ログを検索して確認してから書き込んでください。
  • 内容がわかるタイトルをつけること。要望する場合は[要望]を先頭につけること。
  • 動作確認はかならず最新版で行ってください。
  • 不適切な文章は、管理人が削除、編集することがあります。
名前*
メッセージ*
パスワード (編集・削除に使用。16文字以内)