java、js根据拼音查汉字

我的数据库或者是文件中有“北京”、“上海”、“南京”、“西安”、“大连”、“广州”、“武汉”、“襄阳”、“大理”、“成都”、“西藏”、“哈尔滨”、“乌鲁木齐”这些记录然后... 我的数据库或者是文件中有
“北京”、“上海”、“南京”、“西安”、“大连”、“广州”、“武汉”、“襄阳”、“大理”、“成都”、“西藏”、“哈尔滨”、“乌鲁木齐”
这些记录
然后,
当我输入“b”的时候
可以查找出“北京”
当我输入“j”的时候
可以查找出“北京”、“南京”、
当我输入“l”的时候
可以查找出“大连”、“大理”、“乌鲁木齐”
数据库里没有别的字段,只有主键ID和这个NAME字段。
请问除了在数据库里增加拼音检索字段之外,我还有什么方法,
可以查找出来。
求大神指教!
忘了说了,上面的中文数据是可变的。
而且,这个想要实现的功能就是类似于百度、谷歌浏览器搜索框的那样,根据输入的拼音,自动找到相关的汉字展示在下拉列表中供用户选择,只不过是一个网站内使用的。
展开
 我来答
小狂中E
2013-09-23 · TA获得超过1418个赞
知道大有可为答主
回答量:1514
采纳率:66%
帮助的人:1035万
展开全部

1、在数据库增加拼音检索字段这个方法是可行的

2、如果不增加这个字段,那只能在客户端进行,我这里有一个自用的拼音库(2万多汉字,见附件),你自己写个小程序把它整理成汉字与拼音首字母的对照表。

从数据库中读出地名,然后把地名按对照表翻译成拼音简称(注意有多音字,即一个地名可能有多个拼音简称),然后在输入时检索这个对象表即可

阿Q说
2013-09-23 · 阿Q说创业,创业小点子,营销小故事
阿Q说
采纳数:48 获赞数:164

向TA提问 私信TA
展开全部
可以直接在JS 定义一个json数组,如:[{"label":"BJ","value":"北京"},{} ........],这个数组是固定的;取出数据库的值进行匹配就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大志若愚_zz
2013-09-23 · 超过42用户采纳过TA的回答
知道小有建树答主
回答量:115
采纳率:0%
帮助的人:109万
展开全部
从数据库中查出所有的记录,然后遍历,通过PinYin4J取拼音,然后判断是否包含所输入的字母。
当然最好还是在数据库中添加pinyin的索引,这样效率最高。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
为坚持感动
2013-09-23 · 超过22用户采纳过TA的回答
知道答主
回答量:203
采纳率:0%
帮助的人:71.1万
展开全部
用if else if可以弄出来就是写的比较多。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
B2K1bonPplR
2013-09-23 · TA获得超过2049个赞
知道小有建树答主
回答量:1156
采纳率:72%
帮助的人:395万
展开全部
还是在数据库里增加拼音检索字段吧。
这种方法是最好的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式