MySQLで全角マイナス

MacからMySQLに全角マイナスを含むデータを(phpMyAdminを使って)入力した。例えば「HISA−123」だったとしよう。これをWindowsで検索するとヒットしない。よく調べるとマイナス記号が検索できていないことが判明(部分一致でISAとか23ならヒットする)。

  • MySQL 5.0 (utf8_unicode_ci)
  • PHP 5.0 (UTF-8)

なんでそんなことになるのかいろいろと調べたところ、Macで全角マイナスを入力するとUTF8コード「E28892」(MINUS SIGN)が使われます。ところがWindowsの場合はUTF8コード「EFBC8D」(FULLWIDTH HYPHEN-MINUS)が使われます。

Macで入力した全角マイナス(UTF8コード「E28892」)は全角マイナスとは別の文字とみなされるらしい。というのもMySQLではutf8_unicode_ciで記録しているテーブルの検索は全角と半角を区別しないし類似文字も包括して検索してくれる。例えばカタカナの「ベ」はひらがなの「べ」でも検索できるし、ひらがなの「へ」や「ぺ」でもカタカナの「ヘ」や「ペ」でも半角カタカナの「ヘ」でも「ベ」でも「ペ」でも、「ベ」を検索できる。だから半角マイナスで検索すれば半角だろうが全角だろうがマイナス記号はまとめてヒットする。たしかにWindowsで入力した全角マイナスは、半角マイナスで検索してもヒットする。ところがMacで入力した全角マイナス(UTF8コード「E28892」)はマイナス記号とみなしてくれてないらしい。やっかいな問題だ

とりあえず、MySQLのreplace関数を使って可能性がありそうなカラムのE28892をEFBC8Dに置換するSQL文をときどき実行して対処するしかないのかな。

iPod touch でどこでもWi-Fi (1)

iPod touchのネット機能はかなり便利。ちょっとした調べものやメールチェック程度ならわざわざPCを立ち上げなくても済んでしまう。外出時もiPod touchにネット接続環境があればなぁ。iPhone買えば・・・とか言わないでね。PHS時代を含めてもう9年間もドコモユーザーなので長期契約割引のことを考えると今さらソフトバンクには・・・ああ、iPod touchもiPhoneみたいにどこでもネット接続できねえかなぁ

どこでもネット接続といえば普段持ち歩いているMacBook用にイー・モバイルのD01HWを持ってる。これをこんな風に

iPod touchとD01HW
iPod touchとD01HW

接続できたらいいなあと思う。無理なのかな。

で、いろいろと調べてたらUSB経由のネット接続を無線LAN化するメディアコンバータみたいなものが売っているのを発見。Cradlepointっていう会社(http://www.cradlepoint.com/)の「CTR350」っていう製品。イーモバとつなぐとこんな感じなことになる。

D01HWとCTR350の接続状態
D01HWとCTR350の接続状態

イーモバの接続に必要な情報はあらかじめCTR350に書き込んでおけばいい。電源入れれば自動的にイーモバがネット接続する。で、CTR350が無線LANのアクセスポイントになるので、iPod touchをCTR350に無線LAN接続すればこれでどこでもWi-Fiのできあがり。とは言っても実はCTR350は付属のACアダプタでどっかから電源をとってこなきゃいけない。「なんだ、電源ないとダメなんじゃ使えねえ」とか言わないで。いや、同じCradlepoint社の「PHS300」はバッテリを内蔵しているのでコレ買えばホント気軽にどこでもWi-Fiが構築できる。ネットで検索するとPHS300とイーモバの組み合わせでどこでもWi-Fiしている話題がでてくる。あ、ちなみにPHS300はコレ↓

CradlepointのPHS300
CradlepointのPHS300

ところが、わたしはあえてバッテリを内蔵していない「CTR350」を買った。なぜかというと電源に外付けバッテリを使おうと思ったから。バッテリって結構な重さがある。せっかく持ち歩くのにバッテリが内蔵式だとどこでもWi-Fi専用になってしまう。緊急時には携帯やiPodの充電にも使えた方が便利だと思って汎用性がある外付けバッテリを使おうと思ったわけ。