有心,千里万里都不足为虑。无意,近在咫尺却无法相逢。
鸟儿倦了,想归巢了。
有心,千里万里都不足为虑。无意,近在咫尺却无法相逢。
鸟儿倦了,想归巢了。
这几天在搞一个网站,里面涉及到对一些数据进行排序显示的问题。后来做完之后自己用着发现因为默认是按英文排序的,当语言是中文的时候要找一个项特别麻烦。那么问题就来了,中文要怎么样才能按照用户习惯的顺序来排序呢(中国大陆来说,就是拼音排序)?
经过一番百度Google,找到的资料要么就是转成GB2312
然后排序,要么就是查表之类的,费劲又不安全(转码的时候可能会有意外字符导致失败之类的,而且GB2312
并不完全是按拼音排序的;查表的话数据的正确性难以有保障)。作为一个对代码正确性要求很高的人,这显然不符合我的风格。
然后我突然想到了万能的Unicode
。Unicode
并不只是单纯的一个编码系统,而是有关语言文字的很多内容的一整套完整的编码、属性体系。我这个项目里面用到的翻译部分就是使用了PHP的intl
扩展,而这个扩展是基于ICU
这个项目实现的,而ICU
又是基于Unicode组织提供的CLDR
数据开发的一套完整的国际化解决方案。CLDR
,全称叫做Unicode Common Locale Data Repository
,是Unicode组织提供的一套基本的语言相关的数据,包含了日期时间货币数字格式等等东西,也包含了排序规则,这就是本文要用到的东西。
地点 | wifi名 | 密码 | 地址 |
---|---|---|---|
禾绿回转寿司上地华联店 | bjhlsdhl | 82349306 | 海淀区农大南路1号硅谷亮城1号楼华联商厦4楼F4-10号铺 |
赛百味苏州街店 | Subway | 11111111 | 海淀区苏州街18号长远天地大厦1楼 |
食分钟辉煌国际1店 | 10Mins-Open 10mins-open | 12345678 | 海淀区上地十街1号辉煌国际大厦6号楼107号 |
胡大饭馆簋街三店 | HD Free Wifi | hudaxiami | 东城区东直门内大街(簋街)284号 |
川古道东直门银座店 | dcxj | 84476773 | 东城区东直门外大街48号银座百货B2楼 |
祖母的厨房五道口店 | Grandmskitchen | 58693056 | 海淀区成府路28号五道口购物中心5楼16号 |
隐泉三里屯店 | hatsune | 64153939 | 朝阳区三里屯路19号三里屯太古里南区S8-30号 |
江边城外上地店 | JBCW-sdf | 8888888888 | 海淀区上地信息路甲28号科实大厦1楼 |
站点比萨三里屯店 | TubeStation | tubestation | 朝阳区三里屯北街33号3.3服装大厦3楼3008号 |
禾绿回转寿司新中关店 | bjhlxzg | f82486121 | 海淀区中关村大街19号新中关购物中心B121号 |
海底捞火锅大钟寺店 | HaiDiLaoHuoGuo | haidilao | 海淀区北三环西路23号大钟寺中坤广场E栋5楼 |
愉味麻辣香锅 | yuwei | yw82176678 | 海淀区上地十街1号辉煌国际西6号楼-203 |
永和大王建外SOHO店 | yonghedawang | jw58691716 | 朝阳区东三环中路39号建外SOHO东区3号楼0335室 |