タグ

2011年4月18日のブックマーク (1件)

  • mysqlのcollateを使って大文字-小文字や全角-半角を無視した検索 - end0tknr's kipple - web写経開発

    mysqlでは、collate = utf8_unicode_ciを指定すると、大文字-小文字だけでなく、全角-半角を同一視できるそうですが、実際にどの文字が同一視されるのかを試してみました。 collateとは http://tetlist.info/2009/01/mysql ↑このエントリでも分かりやすく紹介されていますが、collate(照合順序)とは、文字を比較(一致/不一致や表示順)する際のルールです。 utf8_unicode_ciで大文字-小文字だけでなく、全角-半角を同一視 mysqlのデフォルトcollateであるutf8_general_ciでは、大文字-小文字を同一視しますが、utf8_unicode_ciでは、さらに半角-全角も同一視します。 ※ci とは Case Insensitive の略称のようです tableやcolumn自体にcollateを設定する

    mysqlのcollateを使って大文字-小文字や全角-半角を無視した検索 - end0tknr's kipple - web写経開発
    harigel
    harigel 2011/04/18
    mysqlのデフォルトcollateであるutf8_general_ciでは、大文字-小文字を同一視する。このままだと大文字小文字のみ異なる、例えばUID等を区別できず大変なことになるので注意(体験談)