MySQLサーバを立てる際何も考えずにやっときたいこと

文字列検索の際「大文字」「小文字」「全角」「半角」無視する

開発中は気づきづらいんですが、何かしら文字列検索の機能を実装した際、テストの段になって希望通りの検索結果が得られないなんてことがあったりします。テキスト"Loop"に対して"loop"と検索条件を与えてもHITしないって感じです。

これに関しては新しいデータベースを立てる際に何も考えずに

utf-8
utf8_unicode_ci

と設定しておくと幸せになれます。
以下のサイトに詳しいので詳しくは書きませんが、
検索時に「大文字」「小文字」「全角」「半角」の違いは無視した形でHITするようになります。

mysql> select * from tests;
+----+------+
| id | name |
+----+------+
|  1 | Loop | 
|  2 | LooP | 
|  3 | るーぷ  | 
+----+------+
3 rows in set (0.01 sec)

mysql> select * from tests where name = 'loop';
+----+------+
| id | name |
+----+------+
|  1 | Loop | 
|  2 | LooP | 
+----+------+
2 rows in set (0.00 sec)

もちろんシチュエーションにあわせてよりベストなものを設定するのがベターですがなんだかんだでこの設定でたいていのシチュエーションでOKでしょう(たぶん)。

http://tools.rc-club.info/content/view/28/33/


追記

いやぁ、、、やっぱこの設定つかえません。
カタカナが。。。。。
詳しくは後日書きまする