ソート豆知識

入居者名簿のスクリプトでソートを使って気づいたこと。

業界に長く携わってる人からしたら常識なのかも知れませんが、文字コード上の日本語の並び順は微妙に五十音順ではないということを知りました。

アルファベットですら大文字から順に並んでいるのに、日本語はなんと小文字から「ぁあぃいぅうぇえぉお」という順番で並んでいるのです。
(UnicodeShift_JISで確認)

これによってどういう弊害が発生するかというと、「ファミコン」「フア」という2単語があった場合、単純にコード番号の昇順でソートするプログラムですと、二文字目の比較で「ァ」のほうが若い番号と判断され、「ファミコン」が先になってしまうのです。

本当に正確な五十音ソートを実現したいなら、自分で大文字小文字の区別をしない独自のソートプログラムを組むしかないでしょう。

些細な問題なので僕はそこまでしませんが^^;