mb_strlen
只提供字节数,而不是我想要的。
它应该使用多字节字符。
答案 0 :(得分:11)
mb_strlen也许?
答案 1 :(得分:9)
mb_strlen($text, "UTF-8");
答案 2 :(得分:6)
mb_strlen()
的 mb_internal_encoding('UTF-8')
答案 3 :(得分:0)
mb_strlen字符串测量的长度。
<?php
$str = 'abcdef';
echo strlen($str); // 6
$str = ' ab cd ';
echo strlen($str); // 7
?>
直接来自文档。
答案 4 :(得分:0)
如果您使用UTF-8编码步骤通过字符串中的所有字节并计算未设置第8位的字符。
此解决方案不需要mb扩展名。
答案 5 :(得分:0)
我不确定mb_strlen,但我自己只使用普通的旧strlen ... http://php.net/manual/en/function.strlen.php
答案 6 :(得分:0)
strlen():返回字节数而不是字符串中的字符数。
$name = "Perú"; // With accent mark
echo strlen($name); // Display 5, because "ú" require 2 bytes.
$name = "Peru"; // Without accent mark
echo strlen($name); // Display 4
mb_strlen():返回具有字符编码的字符串中的字符数。多字节字符计为1。
$name = "Perú"; // With accent mark
echo mb_strlen($name); // Display 4, because "ú" is counted as 1.
$name = "Peru"; // Without accent mark
echo mb_strlen($name); // Display 4
iconv_strlen():以整数形式返回字符串的字符数。
$name = "Perú"; // With accent mark
echo iconv_strlen($name); // Display 4.
$name = "Peru"; // Without accent mark
echo iconv_strlen($name); // Display 4