设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
立即注册
只需一步,快速开始
快捷导航
登录
注册
论坛首页
BBS
建站模版
微站设计
虚拟主机
企业邮箱
博客日志
Blog
搜索
搜索
搜索
热搜
长春
优惠
活动
做网站
本版
帖子
用户
本版
帖子
用户
请
登录
后使用快捷导航
没有帐号?
立即注册
道具
勋章
任务
留言板
设置
我的收藏
退出
时时商务社区
»
论坛首页
›
建站资源
›
建站技术
›
PHP学习笔记之字符串编码的转换和判断
返回列表
查看:
681
|
回复:
0
PHP学习笔记之字符串编码的转换和判断
[复制链接]
bewin83
当前离线
积分
7520
2500
主题
2513
帖子
7520
积分
论坛元老
论坛元老, 积分 7520, 距离下一级还需 9992479 积分
论坛元老, 积分 7520, 距离下一级还需 9992479 积分
积分
7520
发消息
电梯直达
楼主
发表于 2018-2-14 05:58:12
|
只看该作者
|
倒序浏览
|
阅读模式
[U]复制代码[/U] 代码如下:
iconv('GBK', 'UTF-8//IGNORE', '脚本之家'); // 将字符串由 GBK 编码转换为 UTF-8 编码
但 iconv 只能解决编码预先知道的情况,如果字符串编码未知,则需要先探测其编码,这时可能会用到 mb_string 扩展库:
[U]复制代码[/U] 代码如下:
mb_detect_encoding('脚本之家');
可是 mb_detect_encoding 存在一个硬伤,经常出现判断不准确的情况。或许这样就可以解决:
[U]复制代码[/U] 代码如下:
// 使用 iconv 转换并判断是否等值,效率不高
function is_utf8 ($str) {
if ($str === iconv('UTF-8', 'UTF-8//IGNORE', $str)) {
return 'UTF-8';
}
}
// 多种编码的情况
function detect_encoding ($str) {
foreach (array('GBK', 'UTF-8') as $v) {
if ($str === iconv($v, $v . '//IGNORE', $str)) {
return $v;
}
}
}
通过以上方式得到字符串编码信息后,就可以利用 iconv 或 mb_convert_encoding 来转换编码了。
您可能感兴趣的文章:
PHP mb_convert_encoding 获取字符串编码类型实现代码
PHP 字符串编码截取函数(兼容utf-8和gb2312)
php自动获取字符串编码函数mb_detect_encoding
php 转换字符串编码 iconv与mb_convert_encoding的区别说明
浅析PHP中的字符串编码转换(自动识别原编码)
php 判断字符串编码是utf-8 或gb2312实例
分享到:
QQ好友和群
QQ空间
腾讯微博
腾讯朋友
收藏
0
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
用户反馈
客户端