ls0398 发表于 2016-10-20 04:50:23

php读取mysql数据库中文字符串长度的问题

  PHP自带的函数如strlen()、mb_strlen()都是通过计算字符串所占字节数来统计字符串长度的,一个英文字符占1字节。
$str = 'Hello,China!';
echo strlen($str); // 输出:12
  一个汉字占多少长度与编码有关:
UTF-8:一个汉字=3个字节
GBK:一个汉字=2个字节

<?php
header("Content-Type:text/html; charset=utf-8");
$str='我';
echo strlen($str); // 输出:3
?>
<?php
header("Content-Type:text/html; charset=gbk");
$str='我';
echo strlen($str); // 输出:2
?>
  
  MySQL检查长度,可用SQL语言:

select LENGTH(fieldname) from tablename
  来查看,在mysql中CHAR_LENGTH输出的则是屏蔽了字符存储细节,是实际的字符个数。
页: [1]
查看完整版本: php读取mysql数据库中文字符串长度的问题