假设在PHP中使用UTF-8编码和strlen(),这个字符串的长度是4吗?
我只想知道strlen(),而不是其他函数
这是字符串:$1�2
我在自己的计算机上测试过,我已经验证了UTF-8编码,我得到的答案是6.
我在strlen手册或者我在UTF-8上读过的任何内容中都没有看到任何可以解释为什么上面的一些字符会少于一个的原因.
PS:这个问题和答案(4)来自我在Ebay上购买的ZCE的模拟测试.
PPS:请给我一个骨头并投票.我做了我的功课.提前感谢所有回复和投票.
我有一个wordpress网站.
我创建了简单的页面模板,如:
<?php
/**
* Template Name: Test
*/
echo strlen('??????');
?>
Run Code Online (Sandbox Code Playgroud)
然后我使用这个模板创建了一个页面.该页面显示俄语字符串'Привет'的长度(表示'Hello').我希望看到12,因为由6个字符组成的UTF-8编码俄语字符串应该有12个字节的大小,但我得到6.
我在其他服务器上测试了相同的东西并且具有正确的值 - 12.所以我认为原因是我的服务器配置.我有wp 3.2.1(升级到wp 3.5.1后我有同样的问题)和PHP 5.3.3.
目前我花了大约5天试图找到解决方案,但没有运气.有谁知道这种行为的原因是什么?