[PHP-users 27299] Re: mb_strwidth() の結果が期待と異なる
Shu Sawada
luna @ lunanet.gr.jp
2005年 10月 25日 (火) 16:17:14 JST
さわだです。
桝形さん、ありがとうございます。
> $string = "99条99丁目1−11";
> $enc = "eucJP-win"; // ←←←←←←←← ココ
> mb_internal_encoding($enc);
>
> print "mb_strwidth(): " . mb_strwidth($string, $enc) . "\n";
> print "mb_strlen(): " . mb_strlen($string, $enc) . "\n";
>
> としてみたら、どうでしょうか。「eucJP-win」が重要です。
上記のようにeucJP-winを指定すると、期待した結果を得られました。
EUC-JPの場合のみがまずいのでしょうか。
これって、PHP4.3.11以降(?)はEUC-JPではなくeucJP-winを使うのが
無難という事になりますか?
EUC-JPで僕の期待通りに動かないというケースがmb_strwidth()だけで
あれば、EUC-JPでも良いのかなと思うのですが、他のmb_系関数も
何かあったりするのでしょうか。
また、僕はそもそもeucJP-winの何たるかをちゃんと理解していないのですが、
(機種依存文字を扱える、ぐらいしか知りません)
mbstring周りの設定をEUC-JPの代わりにeucJP-winとして統一して、問題は
無いものなのでしょうか。
質問ばかりで申し訳ありません。
ご存知の方、ご教示いただけないでしょうか。
文字コードがらみについては、ポインタだけでも結構です。
何卒宜しくお願いいたします。
--
Shu Sawada
http://luna.lunanet.gr.jp/
PHP-users メーリングリストの案内