今日のチェキ 2008-03-31
■iモードIDについて
「作ろうiモードコンテンツ」の検索してたけど見つからず、こんなとこにありました
>あらかじめURL内にパラメータを記述する必要があります。
これはひどい
■iモードIDについて
「作ろうiモードコンテンツ」の検索してたけど見つからず、こんなとこにありました
>あらかじめURL内にパラメータを記述する必要があります。
これはひどい
携帯向けXHTMLを出力する場合に便利なPHPのパッチ
実際このパッチをあてればOKと思う人が多そうで危険。
上記のパッチは、出力時内部エンコードからShift_JIS変換を利用する場合必要であり、そのようなphp.iniの設定が必要です。
スクリプトをEUC-JPで書いている場合のphp.iniの設定はこんな感じになるんじゃないでしょうか。
default_mimetype = application/xhtml+xml output_handler = mb_output_handler default_charset = Shift_JIS mbstring.language = Japanese mbstring.internal_encoding = eucJP-win mbstring.encoding_translation = On mbstring.http_input = auto mbstring.http_output = SJIS-win mbstring.detect_order = SJIS-win,UTF-8
mb_output_handlerの説明みるとheader() で Content-Type が 設定されていない場合
とあるので、後からContent-Typeを指定したらダメなのかな?
それだとすごく糞なきがしますがどうなんでしょ。
自分の場合はスクリプトファイルのエンコード、DBをShift_JISに統一する場合が圧倒的に多いです。
PHPに独自パッチを当てることの了承を得るよりも、上記のShift_JIS統一のより敷居が高い気がします。
PHPはコンパイルオプションに「–enable-zend-multibyte」をつけてコンパイルする(PHPと日本語)
DBは以下のように。
・MySQL ⇒ DB文字セットを「cp932」に設定(文字化けする場合はPHPとMySQLの個人的まとめ)
・PostgreSQL ⇒ DB文字セットを「UTF-8」か「EUC-JP」にし、接続毎に「pg_set_client_encofing(‘SJIS’);」を実行
・Oracle ⇒ DB文字セットをShift_JIS系に設定
・Sybase ⇒ DB文字セットをShift_JIS系に設定
php.iniの設定はだいぶスマートに。
default_charset = Shift_JIS mbstring.language = Japanese mbstring.internal_encoding = SJIS-win mbstring.encoding_translation = Off mbstring.http_input = pass mbstring.http_output = pass
mb_encode_mimeheaderは日本語なら「ISO-2022-JP」に変換する。
=?ISO-2022-JP?B?Pz8/Pz8/?= =?ISO-2022-JP?B?Pz8/Pz8/?= =?ISO-2022-JP?B?GyhJJygpKisbKEI/?=
「ISO-2022-JP」と「JIS」とPHP5.2.1より利用できるようになった「ISO-2022-JP-MS」の違い。
?????? ァィゥェォ? ァィゥェォ?