本文实例讲述了PHP实现Unicode编码相互转换的方法。分享给大家供大家参考,具体如下:
<?php
/**
* $str 原始中文字符串
* $encoding 原始字符串的编码,默认utf-8
* $prefix 编码后的前缀,默认"&#"
* $postfix 编码后的后缀,默认";"
*/
function unicode_encode($str, $encoding = 'utf-8', $prefix = '&#', $postfix = ';') {
//将字符串拆分
$str = iconv("UTF-8", "gb2312", $str);
$cind = 0;
$arr_cont = array();
for ($i = 0; $i < strlen($str); $i++) {
if (strlen(substr($str, $cind, 1)) > 0) {
if (ord(substr($str, $cind, 1)) < 0xA1) { //如果为英文则取1个字节
array_push($arr_cont, substr($str, $cind, 1));
$cind++;
} else {
array_push($arr_cont, substr($str, $cind, 2));
$cind+=2;
}
}
}
foreach ($arr_cont as &$row) {
$row = iconv("gb2312", "UTF-8", $row);
}
//转换Unicode码
foreach ($arr_cont as $key => $value) {
$unicodestr.= $prefix . base_convert(bin2hex(iconv('utf-8', 'UCS-4', $value)), 16, 10) .$postfix;
}
return $unicodestr;
}
/**
* $str Unicode编码后的字符串
* $decoding 原始字符串的编码,默认utf-8
* $prefix 编码字符串的前缀,默认"&#"
* $postfix 编码字符串的后缀,默认";"
*/
function unicode_decode($unistr, $encoding = 'utf-8', $prefix = '&#', $postfix = ';') {
$arruni = explode($prefix, $unistr);
$unistr = '';
for ($i = 1, $len = count($arruni); $i < $len; $i++) {
if (strlen($postfix) > 0) {
$arruni[$i] = substr($arruni[$i], 0, strlen($arruni[$i]) - strlen($postfix));
}
$temp = intval($arruni[$i]);
$unistr .= ($temp < 256) ? chr(0) . chr($temp) : chr($temp / 256) . chr($temp % 256);
}
return iconv('UCS-2', $encoding, $unistr);
}
$str = "PHP编程:www.";
$unistr = unicode_encode($str);
$unistr2 = unicode_decode($unistr);
echo $unistr . '<br />';
echo $unistr2 . '<br />';
$unistr = unicode_encode($str,'GBK','\\u');
$unistr2 = unicode_decode($unistr,'GBK','\\u');
echo $unistr . '<br />';
echo $unistr2 . '<br />';
PS:下面测试过这个函数比较好用,该代码需要在utf-8编码环境下运行
function unicode_encode($name) {//Unicode编码
$jsonarr = array($name);
$jsonstr = json_encode($jsonarr);
if (empty ($jsonstr))
return '';
return substr($jsonstr,2,-2);
}
function unicode_decode($name) {//Unicode解码
$json = '{"str":"' . $name . '"}';
$arr = json_decode($json, true);
if (empty ($arr))
return '';
return $arr['str'];
}
$test = "\u811a\u672c\u4e4b\u5bb6";
echo "unicode解码:".unicode_decode($test)."<br/>";
echo "unicode编码:".unicode_encode('')."<br/>";
PS:这里再为大家提供几款Unicode编码转换操作相关工具供大家参考使用:
在线Unicode/中文转换工具:
http://tools./transcoding/unicode_chinese
Native/Unicode在线编码转换工具:
http://tools./transcoding/native2unicode
在线中文汉字/ASCII码/Unicode编码互相转换工具:
http://tools./transcoding/chinese2unicode
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP编码与转码操作技巧汇总》、《php面向对象程序设计入门教程》、《PHP数学运算技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《php正则表达式用法总结》、及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
# PHP
# Unicode编码
# 转换
# Python3的unicode编码转换成中文的问题及解决方案
# js字符串与Unicode编码互相转换
# python实现unicode转中文及转换默认编码的方法
# JS实现的Unicode编码转换操作示例
# .Net(c#)汉字和Unicode编码互相转换实例
# C#将Unicode编码转换为汉字字符串的简单方法
# JavaScript中字符串与Unicode编码互相转换的实现方法
# PHP如何实现Unicode和Utf-8编码相互转换
# js unicode 编码解析关于数据转换为中文的两种方法
# C++11 Unicode编码转换
# 程序设计
# 转换工具
# 操作技巧
# 相关内容
# 感兴趣
# 数据结构
# 英文
# 给大家
# 好用
# 更多关于
# 所述
# 几款
# 面向对象
# 再为
# 讲述了
# 正则表达式
# ord
# foreach
# array_push
# string
相关文章:
网站设计制作公司地址,网站建设比较好的公司都有哪些?
做企业网站制作流程,企业网站制作基本流程有哪些?
建站主机如何选?性能与价格怎样平衡?
建站之星手机一键生成:多端自适应+小程序开发快速建站指南
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
香港服务器选型指南:免备案配置与高效建站方案解析
建站ABC备案流程中有哪些关键注意事项?
c++ stringstream用法详解_c++字符串与数字转换利器
如何高效完成独享虚拟主机建站?
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
制作网站的基本流程,设计网站的软件是什么?
如何彻底卸载建站之星软件?
建站之星如何优化SEO以实现高效排名?
建站VPS选购需注意哪些关键参数?
如何制作算命网站,怎么注册算命网站?
建站主机选购指南与交易推荐:核心配置解析
宝盒自助建站智能生成技巧:SEO优化与关键词设置指南
网站企业制作流程,用什么语言做企业网站比较好?
电商网站制作公司有哪些,1688网是什么意思?
如何在Windows环境下新建FTP站点并设置权限?
内网网站制作软件,内网的网站如何发布到外网?
建站之星北京办公室:智能建站系统与小程序生成方案解析
深圳企业网站制作设计,在深圳如何网上全流程注册公司?
定制建站价位费用解析与套餐推荐全攻略
如何在橙子建站上传落地页?操作指南详解
建站之星导航如何优化提升用户体验?
创业网站制作流程,创业网站可靠吗?
如何选择可靠的免备案建站服务器?
建站OpenVZ教程与优化策略:配置指南与性能提升
如何做网站制作流程,*游戏网站怎么搭建?
香港服务器部署网站为何提示未备案?
如何通过NAT技术实现内网高效建站?
招商网站制作流程,网站招商广告语?
如何做静态网页,sublimetext3.0制作静态网页?
南平网站制作公司,2025年南平市事业单位报名时间?
网站建设设计制作营销公司南阳,如何策划设计和建设网站?
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?
如何在阿里云购买域名并搭建网站?
linux top下的 minerd 木马清除方法
简单实现Android验证码
建站之星如何助力企业快速打造五合一网站?
如何有效防御Web建站篡改攻击?
网站插件制作软件免费下载,网页视频怎么下到本地插件?
股票网站制作软件,网上股票怎么开户?
企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?
云南网站制作公司有哪些,云南最好的招聘网站是哪个?
建站主机选哪家性价比最高?
5种Android数据存储方式汇总
湖北网站制作公司有哪些,湖北清能集团官网?
*请认真填写需求信息,我们会在24小时内与您取得联系。