nginx实现简体繁体字互转以及中文转拼音(ngx_set_cconv模块)
2014-03-23 00:00
417 查看
谈到中文简体与繁体字互转,以及汉字转拼音,大家的第一反应就是使用程序来实现,比如php,java。最近一直在nginx第三方模块上晃荡,发现nginx可以实现简繁互转并且也同时实现了转拼音的功能,特意装上简单的测试一下。 备注:测试之前告知大家目前它只支持utf8编码.
1. 安装nginx模块
1.1 安装cconv cconv的lib提供给nginx模块调用,实现繁体互转以及汉字转拼音的功能.
1.2 安装nginx
2. 指令(Directives) set_cconv_to_simp # 繁体转简体 set_cconv_to_trad # 简体转繁体 set_pinyin_to_normal # 汉字转拼音
3. nginx配置
3.1 配置location
3.2 访问测试
4. 注意事项 和程序一样,自定义变量不要使用程序内置的变量以及 $arg_XXX or $http_XXX。如下
5. 兼容性 以下版本通过测试 * 0.8.x (last tested version is 0.8.38) * 0.7.x >= 0.7.46 (last tested version is 0.7.65) * 0.5,0.6这些老版本不兼容 * 1.4.2 没问题,目前我使用的是这个版本. 转载请注明来至运维生存时间:http://www.ttlsa.com/html/3281.html
1. 安装nginx模块
NDK地址:http://github.com/simpl-it/ngx_devel_kit cconv地址:http://cconv.googlecode.com/files/cconv-0.6.2.tar.gz
1.1 安装cconv cconv的lib提供给nginx模块调用,实现繁体互转以及汉字转拼音的功能.
# cd /usr/local/src/ # wget http://cconv.googlecode.com/files/cconv-0.6.2.tar.gz # tar -xzvf cconv-0.6.2.tar.gz # cd cconv-0.6.2 # ./configure # make # make installlib库默认安装到usr/local下,如果你是64系统执行如下命令
# ln -s /usr/local/lib/libcconv.so.0.0.0 /lib64/libcconv.so.032位执行
# ln -s /usr/local/lib/libcconv.so.0.0.0 /lib/libcconv.so.0
1.2 安装nginx
# cd /usr/local/src/ # wget https://github.com/simpl/ngx_devel_kit/archive/master.zip -O ngx_devel_kit-master.gzip # wget https://github.com/liseen/set-cconv-nginx-module/archive/master.zip -O set-cconv-nginx-module-master.zip # wget http://nginx.org/download/nginx-1.4.2.tar.gz # unzip ngx_devel_kit-master.gzip # unzip set-cconv-nginx-module-master.zip # tar -xzvf nginx-1.4.2.tar.gz # cd nginx-1.4.2 # ./configure --prefix=/usr/local/nginx-1.4.2 --with-ld-opt='-lcconv' \ --with-http_stub_status_module --add-module=../ngx_devel_kit-master \ --add-module=../set-cconv-nginx-module-master # make -j2 # make install
2. 指令(Directives) set_cconv_to_simp # 繁体转简体 set_cconv_to_trad # 简体转繁体 set_pinyin_to_normal # 汉字转拼音
3. nginx配置
3.1 配置location
server { listen 80; server_name test.ttlsa.com; location /ttlsa2jianti { set $ttlsa "運維生存時間 - www.ttlsa.com"; set_cconv_to_simp $ttlsa $ttlsa; echo $ttlsa; } location /ttlsa2fanti { set $ttlsa "运维生存时间 - www.ttlsa.com"; set_cconv_to_trad $ttlsa $ttlsa; echo $ttlsa; } location /ttlsa2pinyin { set $ttlsa "运维生存时间 - www.ttlsa.com"; set_pinyin_to_normal $ttlsa $ttlsa; echo $ttlsa; } }
3.2 访问测试
# curl http://test.ttlsa.com/ttlsa2jianti 运维生存时间 - www.ttlsa.com # curl http://test.ttlsa.com/ttlsa2fanti 運維生存時間 - www.ttlsa.com # curl http://test.ttlsa.com/ttlsa2pinyin yunweishengcunshijian - www.ttlsa.com繁体与简体都相互转化了,也可以转成拼音,而且全角的字母也转成了半角.
4. 注意事项 和程序一样,自定义变量不要使用程序内置的变量以及 $arg_XXX or $http_XXX。如下
set_cconv_to_simp $arg_user 'foo';这种方法不要使用,会出问题.
5. 兼容性 以下版本通过测试 * 0.8.x (last tested version is 0.8.38) * 0.7.x >= 0.7.46 (last tested version is 0.7.65) * 0.5,0.6这些老版本不兼容 * 1.4.2 没问题,目前我使用的是这个版本. 转载请注明来至运维生存时间:http://www.ttlsa.com/html/3281.html
相关文章推荐
- 基于keepalived实现Director、ipvs、Nginx的高可用以及Nginx的双主模型 推荐
- Liunx下nginx的安装配置以及负载均衡的实现
- nginx使用ngx_lua访问后端Thrift-Server实现和介绍
- 如何安装nginx_lua_module、set-misc-nginx-module、ngx_devel_kit模块
- NGINX配置rtmp服务器实现rtmp以及hls直播
- Nginx实现反向代理,负载均衡,url重写以及健康检测
- Struts target is null for setProperty(null, "x", [Ljava.lang.String;@179da9f)以及图片实现提交造成出现重复提交的现象
- map和set的使用以及模拟实现
- centos 7 LVS+keepalived实现nginx的高可用以及负载均衡
- nginx反向代理,动静态请求分离,以及nginx缓存应用,以及使用ngx_cache_purge清除指定URL
- Nginx学习之七-模块ngx_epoll_module详解(epoll机制在nginx中的实现)
- 【Day27】什么是nginx,以及通过 nginx 实现静态文件转发、反向代理和负载均衡的配置
- Nginx安装以及简单实现负载均衡
- 01-nginx中的那些数据结构的实现——ngx_alloc
- ADO RecondsetPtr 以及如何实现对表的增加删除数据
- (十三)Set类实现以及彩票机选算法实现
- Nginx和fastcgi分离的实现以及注意问题
- 配置Nginx支持SSL SNI(一个IP绑定多个证书) 以及Haproxy实现多域名证书
- 解剖Nginx·模块开发篇(3)ngx_http_hello_world_module 模块的基本函数实现
- windows上 nginx 配置代理服务,配置多域名,以及最简单实现跨域配置