• 締切済み

vistaで導入されたJIS2004の文字のチェックを考えています。

あるシステムの開発において、windows vista用の対応として件名の事を考えています。 vistaで入力された文字がXP端末で表示できないのでは困るので、JIS2004で新たに加わった文字が入力された場合は、エラー扱いとし再度入力を促すように考えています。 正規表現等を用いて、文字列のチェックのコードを考えております。どなたか方法などお解かりになるかたご教授願えますでしょうか。 環境PHP5.2での動作を考えています。 その他のチェック方法、サロゲートペアの情報などありましたら教えてください。

  • 80yen
  • お礼率74% (123/165)
  • PHP
  • 回答数2
  • ありがとう数0

みんなの回答

  • wp_
  • ベストアンサー率54% (132/242)
回答No.2

逆の発想で「機種依存文字を検出する」のではなく 「許可された文字のみで構成されている」と言うことをチェックしましょう。 JIS X 2013を正規表現で取得とかイヤ過ぎる^^; あ、でもieだったら数値参照になるから取りやすいのか? うーん。。

  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

http://www.google.co.jp/search?q=php%20JIS2004%20%83%60%83F%83b%83N&hl=ja&lr=lang_ja 意外と手段が幾つかあるっぽいから参考になると思うよ

関連するQ&A

  • 正規表現による文字列のチェックについて

    文字列の入力チェックで困っています。 入力された文字列が以下の文字のみで構成されているか、正規表現でチェックするにはどうすれば良いか教えてください。 できれば一発でチェックしたいです。 ・全角(漢字、ひらがな、かたかな)※英数字を含め、左記以外の全角は使用禁止 ・半角英数字 ・半角記号(「-」「.」「:」「*」「&」)※後から追加変更される可能性がある Java(UTF-8)とJavaScript(Shift-JIS)それぞれで対応できる方法をお願いいたします。

  • 文字列に半角スペースがあるかのチェック

    文字列に半角スペースがあるかのチェックを正規表現を使って行いたいのですが、どのように書けばよろしいでしょうか? 開発環境はeclipse、開発言語はjavaを使っています。

    • ベストアンサー
    • Java
  • vista追加文字(jis2004文字)の登録

    vistaで変更になったjis2004の文字をperlで作成したWEBページから入力すると、以下の現象が発生します。 1、WEBページからvista(jis2004)で変更になった「葛」(ここでは表示できないが"ヒ"部分が"メ")、「鴎」(ここでは表示できないがメの部分が口3つ)、「高」(はしご高)、「七が三つの文字」を入力しデータ登録する(postgres)。 2、データベースを参照すると、それぞれ以下のように登録されています   「葛」      → 「葛」   「鴎」      → 「鷗」   「高」      → 「・」   「七が三つの文字」→ 「㐂」 3、このDBの内容をWEBで表示すると以下のようなに表示されます。   「葛」      → 「葛」   「鴎」      → 「鴎」   「高」      → 「高」   「七が三つの文字」→ XPでは「・」、vistaでは「七が三つの文字」 4.クロスサイトスクリプティング対応したモジュールで3と同様の内容を表示すると以下のようになります(&を&に置換)。   「葛」      → 「葛」   「鴎」      → 「鷗」   「高」      → 「高」   「七が三つの文字」→ 「㐂」 ここで質問ですが、 (1)DBに「鴎」などのShift_JISの文字コードで登録されるのはなぜでしょうか?(サーバはLINUXで文字コードはEUCです。) (2)クロスサイト対応をしたページでは、上記文字がShift_JISコードで表示されてしまいますが、この対応策は何かないでしょうか? ちなみに「鴎外」の新文字をこのサイトで入力すると「鷗外」となります。

  • 拡張文字のチェック

    ファイルから文字列データを読み込んでDBに格納する再に 文字列データ内に第二水準及び、拡張文字が入っていたらNGを出すというチェックをしたいのですが、うまいこといかずに詰まってしまいました。 今のところ正規表現で該当文字をSJISのコードで指定してるのですが思ったとおりになりません。 環境は 読み込みファイルはSJIS、DBはEUC PHP4.3.9 DBはPostgresです。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • vistaのjis2004の文字化け

    windows vistaでは、jis2004が採用になり、大きく以下の3つの変更があったと思います。  (1)字形変更  (2)文字追加  (3)4バイトコードの追加 (1)字形変更では、フォントの変更だけなので影響がないと認識していましたが、send mail(linux)を使用し(1)字形変更の文字(例えば鴎外)等を入力し、vistaから、メールを送ると文字化けが発生し、「鷗外」と表示されます。 メーラから見ると「偀翌」などとまったく違う文字が表示されます。 こういった文字化けは、なぜ発生するのでしょうか?また、解決策等がありましたら教えて下さい。 (vistaのメーラからXPのメーラに送信した場合は、上記文字化けは発生しません。)

  • 正規表現で、ある文字を含まない文字列のチェック方法について

    正規表現で、ある文字(対象は複数)を含まない文字列をチェックしたいのですが、どうもうまくいかないので相談させて頂きます。 チェック対象文字(例:壱、拾、A、Z) 上記の文字以外のチェックは、 [^壱拾AZ]となるかと思いますが、 チェック対象文字を含まない文字列をチェックするためには、 どのような正規表現としたらよいのでしょうか? ご教授の程、よろしくお願い致します。

  • 正規表現でIパスワードの作成内容をチェック

    PHP初心者です。 特に正規表現は、あまり良く分かりません。 単一の条件は、なんとなく分かるのですが・・・よろしくお願いします。 ユーザーに任意のパスワードを作ってもいたいのですが、あまり簡単な文字列では良くない事から、入力された文字列にチェックをかけたいです。 条件は、半角英数で6文字以上、大文字小文字は区別します。 (記号は不可) また、必ず数字と英字をどちらか2文字以上混在させたいのですが、チェックをかける時にどの様な正規表現のパターンを組めばよいのか分かりません。 教えて頂けないでしょうか、よろしくお願い致します。

    • ベストアンサー
    • PHP
  • phpの文字コードをシフトJISに変換する

     SSIを利用して、PHPプログラムをHTMLページの中央部に呼び出して表示しようとしています。  それ自体は単純なことですが、HTMLページの文字コードはシフトJISで、PHPの文字コードはEUCと、異なるため、どうしても文字化けが起きてしまいます。  これを解消する方法はありますか。  PHPの出力文字コードをシフトJISにするのが一番単純かとも思いますが、他の方法も含め、なにかよい方法がありましたら教えてください。

  • ACCESS VBAでの正規表現チェックについて

    いつもお世話になっています。 現在ACCESS2003で開発を行っているのですが、文字の入力チェックで悩んでいます。 正規表現チェックを使用し 半角英数字と"-", "_", "!", "@", "+", "/", "*"以外の文字が入力されればエラーメッセージを表示させようとしているのですが、うまく動作しません。 ●現在の処理 '検証結果フラグ b_error = True '入力許可文字列 s_ok_text = "*[”正規表現”]*" '入力文字列が空で無い場合はチェック処理を実行する If Not IsNull(”入力文字”) Then If ”入力文字” Like s_ok_text Then '入力許可文字列以外が含まれていた場合はエラーを返す b_error = False End If End If s_ok_textに入力可能文字を設定しているのですが、上記入力許可文字の設定の仕方がわからない状況です。 正規表現のチェックに詳しい方がいましたら、上記チェックの方法をご教授頂きたく思います。 宜しくお願い致します。

  • 全て全角文字かチェックしたい

    PHP Version 5.1.6を使っています。 UTF-8だと全角文字が3バイトとして扱われるので、 半角文字のチェックのままだと3倍の文字制限が必要になってしまいます。 例: [名前] 最大全角10文字まで 半角を入力した場合:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 全角を入力した場合:あああああアア亜亜亜 半角文字だと3倍の30文字まで入力できてしまうので、 なんとかして全角文字だけ入力したかチェックする正規表現が知りたいです。

    • ベストアンサー
    • PHP

専門家に質問してみよう