找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1354|回复: 0
打印 上一主题 下一主题

php 不同编码下的字符串长度区分

[复制链接]

2560

主题

2560

帖子

7622

积分

论坛元老

Rank: 8Rank: 8

积分
7622
跳转到指定楼层
楼主
发表于 2018-2-14 09:02:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            UTF-8的中文字符串是三个字节
[U]复制代码[/U] 代码如下:

输出:25-9

GB2312的中文字符串是二个字节
[U]复制代码[/U] 代码如下:


输出:17-9
在Mysql数据库(5.1以后的版本)中,如果字段类型为varchar(10)则可插入10个字符(不是字节);
所以在判断字符串的长度时需要根据文档编码来区分。
符一个简单的UTF-8下字符串截取(按字符个数截取)
[U]复制代码[/U] 代码如下:
127 ? $str[$i].$str[++$i].$str[++$i] : $str[$i];
$j++;
if ($j = $end){break;}
}
$restr .='';
return $restr;
}
$str = '中新网9月24日电 二十国集团(G20)领导人第三次金融峰会今日将在美国匹兹堡召开。';
echo $str;
echo '
';
echo utf8_substr($str,0,25);
echo '
';
?>
            
            
您可能感兴趣的文章:
  • PHP字符串长度计算 - strlen()函数使用介绍
  • PHP 字符串长度判断效率更高的方法
  • php比较两个字符串长度的方法
  • 解决PHP字符串长度不一致的问题
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端