[PHP-users 14746]Re: キャラクターセットについて

Osamu Shigematsu m5issige @ mr.hitachi-medical.co.jp
2003年 4月 21日 (月) 18:47:03 JST


重松です。こんにちは。

PHP は Shift_JIS はデフォルトでは対応していないはず。

最新版の PHP 4.2.1 では、Shift_JIS を使うためには、
--enable-zend-multibyte を有効にしないといけないし、
4.2 よりも前の版は、当然この国際化版がマージされてないのだから、
国際化版を使わないといけない。

データベースで言えば、magic_quote_gcp があまり賢くないので、
Shift_JIS の 2 バイト目に \ が来たときの動作が、
確かそのまま \\ にしてしまったような記憶があります。

とにかく、面倒くさいだけなので、一部の携帯コンテンツのように
Shift_JIS で出力しないといけないとか、そういう特殊なニーズがないなら、
素直に EUC にしたほうが、「楽」だと、私は思います。

秀丸は、有償のエディタなわけで、よもや EUC 扱えません、
なんてことはないと思いますし。 :)

まとめて変換するのも、Sun コバルト上に qkc でもいれて、

	find . -type f -name "*.php" | xargs qkc -eu

でお終いです。

それと、Windows のは Shift_JIS ではなくて、cp932 なので、
注意してください。

ところで、mb_send_mail(), cp932 にしかない文字をメールしようとしたら、
どうするんでしょう? たとえば Windows な人が大好きな、
カッコつきの株とか、丸の数字とか、ローマ数字とか。

mb_filter.c の使用に準ずってことだとは思いますが、
ない文字がどうなるのか、いまいち大きいファイルで読みきれていません。

とりあえず、その辺の変換がうまく行かなくて、そういう Windows な文字を
いっぱい使いたいし、Windows 以外では見えなくてもかまわないというような
ニーズの場合は、もしかしたら、SJIS-win でコーディングした方が
いいのかもと思ったり、思わなかったりしています。

-- 
Osamu Shigematsu <m5issige @ mr.hitachi-medical.co.jp>




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