kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

Sort keys in Japanese

Sign in to your Microsoft account
Sorting It All Outの面白さが最近ちょっとわかってきた(どういう面白さかは触れないで…)。英語なんで読むのも大変だけど。このエントリではWindowsの日本語サポートについて書かれています。
日本語には読み仮名というものがあり、データベースなんかでは漢字のほかにかな用のカラムを追加して、漢字の並び替えのための照合順序の助けにしていると。業務なんかではさらに清音処理した仮名で格納するのですが、まぁそれはおいときます。
たとえば「ラーメン」という単語だと(いわゆる)全角かな、全角カナ、半角カナと三種類の表記が可能なので、 LCMapString/LCMapStringExを使って変換すると、Unicodeのソートの重みはどれも同じ値が返却されますよ…ということだそうです。
ちなみにLCMapStringEx()はVistaのみサポートされています(ロケール名に"ja-JP"とか指定できるみたいですね)。SQL Serverの照合順序、CI_AS_KSなんかもこの辺の動作の切り替えなんでしょうかね。
清音処理を含めて作りこみ当たり前な状態で育っているので、うーんって感じかな。もちろん海外から日本へ持ってくるようなソフトならこういう機能あると助かるのでしょうが...。