FeiYan

网站导航

搜索

腾讯微博 新浪微博 FeelBLog 开源中国社区

PHP转换汉字拼音和Unicode

2011-11-03 10:01:00     3个评论     7652次访问

获取这个应用的代码可以前往github:https://github.com/feiyan/ChineseWords

汉字转拼音拼音查汉字汉字转unicodeunicode转汉字以及获取汉字的声母、韵母和声调都是在程序开发中可能会遇到的事情,尤其是在语音处理和自然语言检索等领域领域应用尤为广泛,例如类似百度搜索下拉框的时候或者Google即时搜索中都要去分析用户输入第一个字或者拼音(如下图百度搜索下拉框所示),所以做这个东西还是会有很大用户的。在正式文章之前不得不水一句:看完这个你会发现咱们以前的语文学的多么的烂!


另外还要特别强调一句:本API的数据来自Google SunPinYin Developers小组,有一部分数据我也不是很理解,例如:“浩”这个字会显示三个读音,事实上目前为止我还没发现这个字是多音字,所以使用本API请注意返回数据。为了安全起见,线上API采用PHP+SQLite数据库。

根据汉字查询:index.json?word=飞

根据拼音模糊查询、每页50个值、返回第2页:index.json?word=fei&size=50&page=2

根据汉字精确查询:index.json?act=accurate&word=%E9%A3%9E

根据unicode精确查找:index.json?act=accurate&word=3e1&size=100

API查询说明
URL:http://www.feiyan.info/api/words/index.{format}
Format格式:xml/json
API参数说明
参数非空默认值说明
word必填需要查询的汉字/拼音/unicode/声母/韵母
act可选fuzzy模糊查询(fuzzy)和精确查询(accurate)。
page可选1当前页吗
size可选10每页返回的条数

注:查询方式选择精确查询将会自动判别word是汉字、拼音还是unicode

API返回值错误代码

{"words":{"result_code":0,"desc":"Parameter Word Can't be Empty"}}word参数不能为空。{"words":{"result_code":1,"desc":"Data is Empty"}}查询结果为空。

API返回值(XML格式)
niaoniao3"\u349F"nienie4"\u3595"
API返回值(Json格式)
{"words": {"word": [{"word": "349f","pinyin": "niao","pinyin_s": "n","pinyin_y": "iao","type": "3","unicode": "\"\\u349F\""},{"word": "3735","pinyin": "niao","pinyin_s": "n","pinyin_y": "iao","type": "3","unicode": "\"\\u3735\""}]}}

下图是返回数据的Json格式的结构:

API源代码和文件下载:

1. API文件(包含sqlite数据库文件和mysql数据库文件),包含class.sqlite.php和class.mysql.php两个数据库类,PHP版本需要5.0及其以上版本。2. 原始TXT文件:hanyupinyin.txt(包含拼音格式)和mandarin.txt(不包含拼音格式),此数据文件版权归上述SunPinYin所有。下载地址:

words.zip

请注意:使用MySQL数据库需要改变config.php的数据库链接信息,使用format后缀需要修改.htaccess的rewrite规则。

文章标签: php  mysql  汉字  拼音  unicode 

本文地址:PHP转换汉字拼音和Unicode

相关文章

2009-08-20:常用PHP类建站程序和源码

2009-11-06:PHP中出现Notice: Undefined index的三种解决办法

2011-01-09:PHP转换IP地址到真实地址

2011-11-29:EditPlus 3.x 配置PHP开发环境

2011-12-28:单点登录系统(SSO)的开发思路

2012-08-17:用PHP开发一个自己的博客

2012-09-03:高性能网站架构基础篇

2012-09-12:MySQL索引使用方法和性能优化

2012-09-17:常用PHP正则表达式

2012-09-17:Ubuntu编译Yaf

3 Comments »

  1. QJseriesQJseries
    非常感谢博主的汉字数据表,帮我大忙了,自己悄悄写了个汉字转拼音的小程序,不带声调。

    2013-09-10 20:29:12   

  2. 飞晏飞晏
    这个我还没注意,周末我看看。之前用的5.2x,现在用的5.4.x,5.3系列的还没用过

    @hl: 有些函数在php5.3不能用了, 楼主可以更新下

    2012-10-26 13:59:27   

  3. hlhl
    有些函数在php5.3不能用了, 楼主可以更新下

    2012-10-26 13:36:25   

发布评论

最新评论

  1. SpecsSpecs

    不错~~

  2. zhyzhy

    我也遇到这个问题 不知道是swf 、jcrop 、 uploadify 还是浏览器缓存

  3. java开发java开发

    您好!我按你的源码进行了编,能正常运行,但是我们项目是由java开发的,怎么做才能将生成的一个可执行文件?我想把这个文件放到服务器上直接运行,不想安装~