2

私は次のような簡単なコードを持っています:

echo strlen('Grækenland');

そして、期待される10ではなく11を返しています

サーバーはデンマークにあり、ロケールはデンマーク語に設定されていますが、それでも 11 が返されます...

4

2 に答える 2

1

strlenは、文字列をバイト配列として理解し、1 バイト == 1 文字と見なす単純な PHP コア関数の 1 つです。mb_strlen文字列のエンコーディングに従って文字を実際にカウントするには、正しいエンコーディング パラメータとともに使用します。

于 2012-08-08T12:07:36.433 に答える
0
<?php
  echo mb_strlen('Grækenland', 'utf8');
?>
于 2012-08-08T12:08:43.653 に答える