编辑: OP 可以简单地使用,strlen()因为它返回字节,而不是字符。证人:
$ cat test.php\n#!/usr/bin/php -q\n<?php\necho strlen("\xd7\x93\xd7\x95\xd7\xaa\xd7\x9f \xd7\x9b\xd7\x94\xd7\x9f")."\\n";\necho mb_strlen("\xd7\x93\xd7\x95\xd7\xaa\xd7\x9f \xd7\x9b\xd7\x94\xd7\x9f", "UTF-8")."\\n";\n?>\n\n$ ./test.php \n15\n8\nRun Code Online (Sandbox Code Playgroud)\n\n感谢deceze对这篇文章的评论。
\n\n旧帖如下:
\n\nPHP 手册的注释中有一个方便的函数,用于确定字符串中有多少字节。这似乎是使用MYSQL 内置函数来LENGTH完成这项工作的唯一替代方案,这在这里会很麻烦。
还有另外两种可能的解决方法。首先,您可以将字符串写入文件并检查文件的大小。其次,您可以对 mb_strlen 强制进行 ASCII 编码,然后它将把每个字节视为一个字符,因此它返回的字符数实际上是字节数。我还没有测试过这个,所以先检查一下。让我们知道什么对您有用!
\n