如何获得UTF-8字符串PHP的长度?

时间:2015-04-10 13:20:04

标签: php string utf-8 string-length

我的问题是,我想得到一个带有特殊字符的字符串的长度(如ä,ü,ö等)。该字符串保存在变量中。 我试图用mb_strlen($string, 'UTF-8'));得到长度,但它返回错了.. 但我认为我有一个解决问题的方法..

因为当我把这个变量中的String写成mb_strlen时,就像我一样 mb_strlen('äöü', 'UTF-8'));返回正确的长度。因此,变量的编码可能有问题(变量由用户的输入填充)

1 个答案:

答案 0 :(得分:0)

听起来输入($string)处于另一种编码中 - 可能是iso-8859-1(特别是如果mb_strlen() == strlen())。

如果$string来自表单输入,则需要确保以UTF-8格式发布表单。除非指定,否则默认值通常为iso-8859-1。

这可以通过以下方式通过不错的浏览器来完成:

<form action="form.php" method="POST" accept-charset="utf-8">