- 締切済み
2バイト文字のスペースをあるかチェックしたい
フォームcgiからの内容に2バイトのスペース(空白)「 」が入っているかのチェックをしたいのですが うまくいきません。 &emsp;を入れてみたのですが、違うようでした。 (ここから) if($in{'comment'} !~ /(&emsp;)/){ $error_msg .= "愛犬の好きな食材を2つの間が全角スペースではありません。<br>"; } (ここまで) これ以上手詰まりとなってしまいました。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- zxcv0000
- ベストアンサー率56% (111/196)
No.1 です。 use utf8; とか、 use encoding(○×△); とかがあるか無いか、あるならその内容も教えてくださいね。
- zxcv0000
- ベストアンサー率56% (111/196)
こういう質問をされると言うのは、ベタの全角スペースでうまく行かなかったからですね? 入力データとソースコードの文字コードの関係をうまく処理すればできるはずです。 utf8 とか encoding とかの use 状況によって正解が変るので、それを教えてください。 それから、$in{'comment'} と Perlソースの文字コードも教えてください。 # &emsp; って、Perlの文法にはそんなの無いと思います。 HTMLと混同されてませんか?
補足
回答ありがとうございます。 以下の内容でよろしいでしょうか? 入力データ $in{'comment'}について htmlのファイルはshift-jisになります。 他に確認する方法がございますでしょうか? ソースコード Perlソースについて shift-jisになります。 これで、よろしいでしょうか? 質問の内容がよくわかっていないようでしたらご指摘ください。 ># &emsp; って、Perlの文法にはそんなの無いと思います。 HTMLと混同されてませんか? そうですよね? 申し訳ございませんでした。 お手数かけます。 よろしくお願いいたします。
お礼
回答ありがとうございました。 以下の内容で対応が出来ました。 $in{'spam'} !~ / /; 以下の内容でも対応が出来ました。 $in{'spam'} !~ /(?:\x81\x40)/; とりあえず解決できたことを連絡いたします。 本当にありがとうございました。
補足
連絡ありがとうございます。 use utf8; use encoding(○×△); はperlの記述にありません。 jcode.plは使用しています。 そっちも確認した方がよいでしょうか?