讨论下中文按拼音排序的问题

最近在做一个项目,需要根据电影名称的拼音进行排序,举个“栗子”(电影名捏造的):
功夫, 功夫熊猫, 美国梦, 重量级选手, 重庆的山, The Beautiful Life
期待的排序结果为:重庆的山 - 功夫 - 功夫熊猫 - The Beautiful Life - 重量级选手
好了,我们先看下Windows7是怎么排序的。
win7的排序结果为:The Beautiful Life - 功夫 - 功夫熊猫 - 美国梦 - 重量级选手 - 重庆的山
貌似和我逾期的有点相似,除了英文排在前面,除了不能识别多音字等等.......
Linux的排序也好不到哪里去:The Beautiful Life - 功夫 - 功夫熊猫 - 美国梦 - 重庆的山 - 重量级选手
那么,问题来了,有什么办法能够达到人们熟悉的按照拼音(英文字母)来排序呢?

用输入法的全拼码表得到一个词语(而不是单字)对拼音的数据库。
用分词组件分词,取得第一个,查拼音得到首字母
排序