いわゆる半角カナを使うと目くじらを立てて怒る人がいたのも今は昔。Unicodeのおかげで、半角カナはふつうの文字になりました。とはいえ、情報を流通させるという観点から言うと、「ページ」と「ページ」、「㌻」が混在しているのは好ましいことではありません(濁点・半濁点も文字として登録されているので、バリエーションはもっと多いです)。 めんどくさそうな問題ですが、Unicodeには正規化という仕掛けが用意してあるので、実は簡単に解決できます(正規化すると、同じものとして扱えます)。 その方法を、「PHPにおけるUnicode文字列の正規化」という記事で解説しました。PHPは単なる例であって、他の言語でも簡単です。ここでは、Javaの場合を紹介しましょう(1.6以降限定です)。.NETの人はString.Normalizeメソッドをどうぞ。 正規化には、クラスjava.text.Normaliz