Archive

Archive for 3月, 2008

今日のチェキ 2008-03-31

3月 31st, 2008

iモードIDについて
「作ろうiモードコンテンツ」の検索してたけど見つからず、こんなとこにありました
>あらかじめURL内にパラメータを記述する必要があります。
これはひどい

ニュース

便利?

3月 11th, 2008

携帯向け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

PHP

今日のチェキ 2008-03-10

3月 10th, 2008

JISとISO-2022-JPは違うんですって

3月 3rd, 2008

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」の違い。


??????
ァィゥェォ?
ァィゥェォ?

PHP