[PHP-users 6930] Re: iモードの絵文字対応

HAYAKAWA Hiroshi php-users@php.gr.jp
Wed, 17 Apr 2002 05:03:36 +0900


早川@名古屋 です。

PIA @ ACR Linxさん、ありがとうございます。

on 02.4.16 6:39 PM, PIA @ ACR Linx at pia@acrlinx.ne.jp wrote:

> PIA @ ACR Linx です。
> 
>> PHPの文字コード自動変換機能をオフにして、
>> フォームなどから入力されたSJISコードのままで<絵文字を処理>してから
>> EUC-JPなりなんなりに変換する必要がありますが、
>> 絵文字処理後の入力値の文字コード変換には
>> mb_convert_variables() を使うのでしょうか?
> 
> mb_convert_encoding() でいいと思います。
> 
> mb_convert_encoding($str,"SJIS","EUC-JP");
> 
> とか。

「でいい」というのは「がいい」とは違うでしょうか?

mb_convert_encoding() でも文字コードは変換できますが、
http_inputの要素の数だけ関数呼び出しを羅列する必要がありますよね。
mb_convert_variables()の場合は
第3引数以下にhttp_inputの要素を羅列する必要はありますが、
mb_convert_variables()よりもmb_convert_encoding()を使う
メリット(あるいはその逆の場合のデメリット)はありますでしょうか?

また、mbstring.http_inputの指定は、php.iniで指定する以外にも
.htaccessにてディレクトリ単位で指定できますが、
php.iniで自動変換機能をオンにして、
iMode用のページのあるディレクトリのみ
mbstring.http_input = pass
にするか、
あるいはphp.iniで全体的に自動変換機能はオフにして、
各プログラムの中で変換をするか、
その辺とのからみはどうされていますか?


いま開発中のシステムにおいて、
php.iniで自動変換させる設定にして作成してきました。
このうちのiModeに関するページ群について、
絵文字の処理を追加する必要に迫られているという状況です。

厳密を期せば、iMode用でないページについても、
iModeからのアクセスをハネるようにするか、
絵文字処理ルーチンをかますようにする必要がありますよね。

-----
>>>  With your dreaming,           ☆彡  Hayakawa,Hiroshi          <<<
>>>          with your smile.    ☆彡    hayakawa@sam.hi-ho.ne.jp  <<<
>>>                            ☆彡      Nagoya,Aichi,JAPAN        <<<