[PHP-doc 944] Re: trigger_error()関数のメッセージの長さ

TAKAGI Masahiro matakagi @ gmail.com
2013年 1月 11日 (金) 05:55:19 JST


高木です。

2013/1/10 Fumito Mizuno <mizuno @ php-web.net>:
> http://jp2.php.net/manual/ja/function.trigger-error.php
> 「このエラーに割り当てられたメッセージ。長さは最大 1024 文字までです。 1024 文字を超える部分は切り捨てられます。」
> とありますが、
> 実際には文字数ではなく、バイト数で切り捨てします。
>
>
> Mac OSX
> PHP 5.3.15
> 文字コードUTF8
>
> <?php
> $mes = '';
> for ($i=0;$i<90;$i++) {
>   $mes .= 'あいうえお';
>   $mes .= sprintf("%02d",$i);
> }
> var_dump(mb_strlen($mes,'UTF-8'));
> trigger_error($mes);
>
> あいうえお00あいうえお01 ..... あいうえお59あ?
>
> になります。
> 「あいうえお00」から「あいうえお59」まで、17バイトx60=1020バイトです。
>
> ドキュメントの修正をお願いします。
ありがとうございます。

手元の環境でも同じ動きになることを確認しました。
が、これは原文も"It's limited to 1024 characters in length."になっているので、
まずは原文のほうを何とかしないといけなさそうです。

http://bugs.php.net/63962

原文での対応を待って、日本語版も対応することにします。

--
TAKAGI Masahiro mailto:matakagi @ gmail.com


PHP-doc メーリングリストの案内