• 締切済み

全角大文字、小文字の区別

いつもお世話になっております。 MySQLで全角の大文字、小文字の区別を行なわず検索を行ないたい と思っております。 半角でしたら、デフォルトで大文字と小文字の区別は行なわない ようなのですが、全角になってしまうと検索されません。 ご教授お願いいたします。 <環境> PHP:4.3.2 Apache:2.0.40 (Red Hat Linux) MySQL:3.23.56 または 3.23.58

  • MySQL
  • 回答数2
  • ありがとう数3

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

検索効率を考えると、あらかじめ小文字を大文字に変換したり、 濁点や半濁点をはずしたりなど加工をした別のフィールドを用意しておく のが効率的だとおもいます

wonder_dct
質問者

お礼

yambejp さん ご回答ありがとうございます。 とても大変な作業になりそうですね。 少し考えてみます。 半角に置換するのが一番手っ取り早そうですね。

  • kikanbo
  • ベストアンサー率31% (44/139)
回答No.1

分かりやすいのが コンバートカナで組み合わせ全パターンを調べるとか 1文字全角と半角しらべてあればもう1文字といった感じでもわかりやすいかと

wonder_dct
質問者

補足

kikanbo さん ご回答ありがとうございます。 例えばどのようになりますでしょうか。 あまりイメージができないので・・・ すみませんが、よろしくお願いいたします。

関連するQ&A

  • あいまい検索で英文字の全角半角を区別しない

    いつもお世話になっております。 あいまい検索で、英文字の全角・半角も区別しないように結果を出したいんですが、どういった方法でできますでしょうか。 大文字小文字の区別なしの曖昧検索だと、 ILIKEという専用演算子を使えばいいとわかったのですが、 全角と半角の区別がついてしまいます。 英文字の全角でも半角でも検索結果をだしたいです。 どなたかご教授お願いいたします。

  • 生年月日から年代を検索

    いつもお世話になっております。 MySQLで BirthDay int(8) というカラムを持っています。 (2000年1月1日だったら「20000101」で保持) PHPで10代が選択された場合、生年月日から10代のものを取ってきたい と思っているのですが、どのような方法がありますでしょうか? ご教授お願いいたいます。 <環境> PHP:4.3.2 Apache:2.0.40 (Red Hat Linux) MySQL:3.23.56

    • ベストアンサー
    • MySQL
  • 全角、半角の判別

    なげられてきた値が全角の場合にエラーをだしたいので PHPにて全角、半角のチェックを行いたいのですが なにか便利な関数などあるのでしょうか? また、どのような処理をすればいいのでしょうか? 単純に全角を半角に変換してくれる i18n_ja_jp_hantozenを使うことも考えましたが 全角の特殊文字などの場合に文字化けを起こす可能性もあると思い なんとかエラー表示させたく質問させていただきました。 よろしくご教授ください。 環境: RedhatLinux6.2J apache-1.3.12-0jp1 php-3.0.15_i18n_ja-0vl2 postgresql-7.0.2-2.i386

    • ベストアンサー
    • PHP
  • 半角英数文字を全角英数文字に変換する方法

    半角英数文字を全角英数文字に変換する方法ってありますか? どうしても半角カナのみならず、英数字まで全角に必要が出てきたんですが、何かいいてはありますでしょうか。 jcode.phpsは英数文字まで全角に出来ませんよね。 pgrep_replaceも使ってみたんですが、うまく引っ掛かりません。 PHP3とMySQLでEUC-JPを扱ってます。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • 半角と全角を区別せずに評価するにはどうすればいいで

    エクセル上で検索する時に If Cells.Find(What:="検索文字", LookAt:=xlPart) Is Nothing Then 'ないならば としてるのですが、 この方法で半角と全角を区別せずに評価するにはどうすればいいですか? どの引数を使えばいいのかわかりません。

  • 入力データの半角スペースと全角スペースを区別させる方法

    データベースに文字列を保存する際、既に同じ文字列が保存されていないか事前にチェックをかけているのですが、この時半角スペースが入った文字列と、全角スペースが入った文字列を同じものと認識してしまい、これを区別したいのですが、どういった方法があるのでしょうか。 具体例を出しますと、 「AAA BBB」(間の空白は全角スペース)を入力する際、同じ文字列が同じフィールドに保存されていないか、SQLのWHERE句で「フィールド名="AAA BBB"」を指定して検索し、同じ文字列があれば警告を出しているのですが、「AAA BBB」(間の空白は半角スペース)にも検索でマッチしてしまいます。 この検索の時に「AAA BBB」をマッチさせないようにしたいのです。 OS:Linux MySQLバージョン:5.1.22 文字コード:UTF-8 です。 よろしくお願いします。

  • MySQLで半角濁音文字の検索

    宜しくお願い致します。 MySQLのselect検索時にフリーワード検索をしています。 DB上には半角・全角文字が混在しており、検索窓に入力した文字の全角・半角を区別せずに検索しております。 文字コードがUTF-8なので、SQL文のwhere区で「collate utf8_unicode_ci」を指定して全角・半角の区別無しで検索しております。 しかし、半角濁音文字、たとえば「ベルト」や「パワー」等の文字列がDB上に半角カタカナで入っている場合に検索窓に全角で入力しても検索できません。 原因はDB上では半角の「ヘ」と「濁音記号」として認識しており、検索窓に入れた文字列は、そのまま「ベ」という1文字として認識しているので検索できないと思われます。 この問題を解決する方法が無くて悩んでおります。 どなたかご教授の程、宜しくお願いいたします。

    • ベストアンサー
    • MySQL
  • IPアドレスの変更

    いつもお世話になっております。 現在社内で開発(言語:PHP)をしており、社内での開発が終了したら 顧客のところにサーバーを納品することになっております。 現在のIPアドレスから、顧客先のIPアドレスに変更しなればなりません。 手順としては、どのファイルをどのような手順で行なえばよろしいでしょうか? ご教授お願いいたします。 <環境> Red Hat Enterprise Linux ES v.4 PHP 4.4.2(cli) Apache 2.0.58 MySQL 4.1.20

  • 正規表現の全角、半角、大文字、小文字の区別について

    こんにちわ 最近正規表現の勉強をし始めたのですが フォームから入力された$keywordの 全角、半角、大文字、小文字の区別をなくすには どうすれば可能なのでしょうか? 今のところ効率などは求めていませんので 初心者が理解できるくらい簡単なご返答をよろしくお願いします

    • ベストアンサー
    • Perl
  • Google maps API + PHP

    いつもお世話になっております。 フォームから入力された住所から地図を表示するようなことを やりたいと考えております。 ですが、Google ではそのようなサービスは行なっていないということなので 住所と座標の対応付け「ジオコーディング」と使ってやろうと思っております。 いろいろ調べたのですが、詳しいサンプルを探し出すことができませんでした。 どなたかご教授をお願いいたします。 よろしくお願いいたします。 <環境> PHP:4.3.2 Apache:2.0.40 (Red Hat Linux)

    • 締切済み
    • PHP