丹麦语被认为是2个字母而不是1个字母

时间:2012-08-08 12:05:21

标签: php

我有一个简单的代码:

echo strlen('Grækenland');

并且它返回11而不是预期的10

服务器在丹麦,locale设置为丹麦语,但它仍然返回11 ...

2 个答案:

答案 0 :(得分:1)

strlen是一个天真的PHP核心函数之一,它将字符串理解为字节数组并假设一个字节==一个字符。使用mb_strlen和正确的编码参数,根据字符串的编码实际计算字符数。

答案 1 :(得分:0)

<?php
  echo mb_strlen('Grækenland', 'utf8');
?>