Php 当我';我试图得到我的字符串中的字符数,即£&引用;对于strlen(),为什么返回2?
我想在html5中创建最大长度的输入 我有一个文本,我必须转换成带有输入的形式。输入的最大长度在文本中定义。但斯特伦返回2个字符 有人知道为什么吗Php 当我';我试图得到我的字符串中的字符数,即£&引用;对于strlen(),为什么返回2?,php,character-encoding,Php,Character Encoding,我想在html5中创建最大长度的输入 我有一个文本,我必须转换成带有输入的形式。输入的最大长度在文本中定义。但斯特伦返回2个字符 有人知道为什么吗 $strTEST = "£"; $i = strlen($strTEST); var_dump($i); // display 2 发件人: 注: strlen()返回字节数,而不是 字符串中的字符 如果您转到并搜索: Unicode code point character hex name U+00A3
$strTEST = "£";
$i = strlen($strTEST);
var_dump($i); // display 2
发件人:
注:
strlen()返回字节数,而不是
字符串中的字符
如果您转到并搜索:
Unicode code point character hex name
U+00A3 £ c2 a3 POUND SIGN
您可以看到十六进制表示需要两个字节来存储此特定字符
解决这个问题的另一个办法是使用
发件人:
返回字符串str中包含字符的字符数
编码多字节字符计为1
Google:multibyte characters如果要计算UTF-8字符,也可以使用