• 締切済み

日本語かどうかの判定

X-Terraの回答

  • X-Terra
  • ベストアンサー率48% (25/52)
回答No.2

Perl以外の言語で(Perl互換の正規表現で)、「日本語がふくまれていないもの」をやったときは、 tr/[\xa1-\xfe]/[\xa1-\xfe]/ がtrueかfalseか、で判断したことがあったように思います。

関連するQ&A

  • 日本語かどうかの判定について

    VB2005 の初心者です。 テキストボックスに入力された文字が日本語(全角も半角も含めて)だったらエラーとしてメッセージボックスを表示させたいのですが、やり方が分かりません。 半角の数字、アルファベットはエラーとしませんが、半角の日本語、全角文字は全てエラーとしたいです。 ヒントになるようなことでも良いですが、できれば実際のコーディングもご教授いただければ幸いです。 皆様の知恵をお借りできればと思います。 よろしくお願い致します。

  • 全角数値の判定

    教えて頂けますか? フォームからPOSTされた文字列が半角数値、または文字列の場合許可し、全角数値の場合拒否したいのですが 全角数値が is_numeric で数値として認識しない為 うまくいきません。 他に良い方法がありますか? よろしくおねがいします。 if ( strlen($_POST['test']) != mb_strlen($_POST['test'],'UTF-8') && is_numeric($_POST['test']) == TRUE ){ echo '半角で入力してください。<br />'; }

    • ベストアンサー
    • PHP
  • 日本語をGETで渡す場合URLエンコードは必要?

    下記の例のように全角文字をaタグのGETメソッドでPHPに渡し、その全角文字で検索した 結果を表示するスクリプトを製作中なのですが、 日本語内に空白等もないですし、あらかじめ検索する語が決まっているので ブラウザはIE9とFIREFOX9.0.1で試しましたが両方とも文字化けすることなくOKでした。 このスクリプトを万人向けに公開する場合、URLエンコード必要なのでしょうか? 例: <a href="http://hoge.php?word=日本語">日本語</a>

    • ベストアンサー
    • PHP
  • utf8フラグを外すと、日本語が化ける

    MySQLにPerlから登録させるプログラムを書いていて文字コードでハマってしまいました。 HTMLからpostされたデータを登録しても、そのまま日本語で保存されるのですが、以前に書き出しておいたデータファイルから読み込んだ文字が文字化けしてしまいます。 もちろんデータファイルはutf8で保存されており、またpostされたデータもutf8です。 そこで、utf8フラグのあたりが怪しいのでは、、と思い調べたところ、 postされた文字列はフラグなしのutf8、データファイルから読み込んだ文字列はフラグ付きのutf8でした。 それならばと、utf8::decode($str);をしてみたのですが、フラグは取れたものの肝心の文字列が文字化けしています。 文字化けした文字は、MySQLに化けて登録されたものと同一の化け方でした。 この状態で、どうすれば化けさせずに登録させられるでしょうか? Perlのバージョンは5.8.8です。 スクリプト自体もutf8です。 もし分かる方がいらっしゃればご教授願えると嬉しいです。

    • ベストアンサー
    • Perl
  • 全角日本語について

     全角日本語はchar型を2つ連続で続けて出力しないといけませんよね。半角だと1バイトですむところを2バイト使っているわけですけど。半角と全角が入り混じったテキストから的確に1文字ずつ取り出すことは出来ないのでしょうか?(2バイトずつ取り出すと、半角のところで文字化けになってしまいますし、1バイトずつだと全角のところが文字ばけしますよね。)半角の時は、半角を、全角の時は全角をという風に。。。  あと、全角の日本語を一文字として扱う型は何かないでしょうか。いつも、charの配列でchar[0],char[1]として使っているのですが。 ちなみに、windows98でBorlandのTurbo C++を使って、C言語で書いています。 なにとぞ、よろしくおねがいします。

  • MySQL&PHPで日本語検索

    PHP&MyQLでショッピングサイトを作ろうと制作中です。 今、MySQLで日本語検索ができず行き詰ってしまいました。 日本語を16進数に変換して検索させれば、うまくいきそうだと考えていますが、なかなかうまくいきません。 MySQLに登録した日本語データは「EUC」の文字コードを16進数に変換したものです。検索窓から入力した日本語の文字コードもEUCであれば、そのまま16進数に変換してマッチングしてやれば、検索できそうなのですが、 POSTで取得した日本語の文字コードが、どうしてもEUCになりません。 (mb_convert_encodingを使用してもだめだし・・・) POSTで取得した文字列の文字コードの変換は、どうすればいいのでしょうか?

    • ベストアンサー
    • PHP
  • コマンドプロンプトで日本語入力にならない

    はじめまして。 私は現在、MySQLの勉強をしているのですが、いざレコードの入力で日本語の文字列を入れようとしても日本語入力にならないのです。 「Alt」+「半角/全角」で日本語入力モードになることは知っているのですが、いくら同時押ししてもONになりません。。。 メモ帳など、他では半角英数と日本語入力は切り替えできますし、「Alt」キーも「半角/全角」キーもきちんと動作しています。 これもIMEの不具合なのでしょうか。 どなかた原因や解決法をご存知の方がいらっしゃいましたら、ご教授の程よろしくお願いいたします。

  • たまに日本語が打てない

    たまに、ウィンドウ内の検索フォームやメールフォームへ文字を入力しようとすると、日本語がうてない場合があります。 半角英数字は打てます。 そして、打てない時はそのウィンドウを閉じ、新しいウィンドウを開くとそちらだけ打てる事があります。 全角が打てるウィンドウと、打てないウィンドウがなぜか出てきます。 (同じYahoo!を表示していても) これはどうしてですか? 起動した直後でもおこったり、おこらなかったりします。 メモ帳などには日本語が打てるので、ウィンドウ内のみです。(IEです)

  • 日本語を含む正規表現の置換

    日本語を含む文字列が$word1、$word2 があります。 $word1から"(xxx)"というような半角カッコに囲まれた文字を削除したいです。 $word2からは"(xxx)"というような全角カッコに囲まれた文字を削除したいです。 カッコの中の文字xxx(日本語)は不特定です。 $word1は以下のコードで上手くいきました。 $word1=~ s/\(.*?\)//; しかし$word2が上手くいきません。 基本的なことかもしれませんが、 色々やってみても上手くいかないので、 よろしくお願いします。

    • ベストアンサー
    • Perl
  • 日本語が急に打てなくなる現象!?

    XPでIME2002を使用していますが急にどこかのキーを押したのか知りませんが日本語が打てなくなりました。右下のタスクバーがきちんと「あ」の日本語全角になっています。 ちなみに打った文字は全角のアルファベットになっています。 スペースキーを用いて変換しても日本語になりません。 なぜでしょうか?