[PHP-users 27293] Re: mb_strwidth() の結果が期待と異なる
Shu Sawada
luna @ lunanet.gr.jp
2005年 10月 25日 (火) 02:47:19 JST
さわだです。
しょうなりさん、ありがとうございます。
僕の手元だけでは無かったと言うことで、ひとまず安心しました。
(それも変な話ですが)
>>#28220のバグ修正 (mb_strwidth()関数が極一部の文字の幅を正しく返すことが出来ない)
>
> とありますので、もしかしたらこのバグフィックスの際に発生した
> 別の現象かもしれません。
>
> PHPのソースまでは追いかけていませんので、あくまで予測ですが。
なるほど、、、
libmbflもありますし、4.3.10->4.3.11でmbstringまわりに結構手が
入ったのでしょうか。
この動作が"正しい"動作なのかどうかは僕には判りかねるのですが、
例外として?幅が2として取れないケースがあるのであれば、そこら辺
何らかの形で明らかになっていると幸せです。
#mb_strwidth()は入力チェックで使っているもので
マニュアルの
「マルチバイト文字は通常シングルバイト文字の倍の幅となります。」
というのは、unicodeなどの場合に3-4byteになったりします、という意味と
理解していたのですが、そうとも限らないのでしょうか。
文字コードを真面目に勉強したことが無いので、ここら辺がイマイチ
ちゃんと理解できていません。ダメダメですね…。
--
Shu Sawada
http://luna.lunanet.gr.jp/
PHP-users メーリングリストの案内