[Tep-j-develop] Re: mb_encode_mimeheader() default encoding

アーカイブの一覧に戻る

Tsukasa Sakaguchi t-sak****@brain*****
2003年 3月 7日 (金) 14:58:58 JST


さかぐち@brainheartsです。
こんにちは。
既に、対応方針が出ているようですが、個人的に気にしている点だけ。

From: TAMURA Toshihiko <tamur****@bitsc*****>
Date: Wed, 05 Mar 2003 16:56:06 +0900
Subject: [Tep-j-develop] Re: mb_encode_mimeheader() default encoding

>   ISO-2022-JP で半角カナを用いる場合
>   http://www.mikeneko.ne.jp/~lab/kcode/hankana.html
> 
> PHPの文字コード変換もISO-2022-JPの半角カナをサポートしているはずです。
> というか、osCommerce日本語版ではその変換に任せています。

紹介いただいたページの内容を見て思ったのですが、EUC-JPとSJISのコード領域が
重なっているということは

アイウエオ <owner****@aiueo*****>    # カナは半角
竺軸宍雫七 <owner****@aiueo*****>

がコード的には同じということに。
文字コードの自動判別を使うなら、半角カナの対応はすべきでしょう。


> 問題になるとすると、ショップ・オーナーが出すメールですね。

ショップオーナーは、「自分」が気をつければ半角カナを入力しない
ようにすることができますが、「お客さん」は、何を入力してくるか
わからないわけで、そのほうが怖かったりします。
# IEは文字がプロポーショナルだったりするので、半角全角の違いが
# わかりにくかったりもしますし...

> 半角カナが読めないメーラーもあるはずですが、
> どのくらいの割合なんでしょうか。

今はどうなんでしょうか?
かつては、8bits文字をヘッダに含むメールを送受信するだけで、ダウンする
サーバもありましたが。
ただi-modeなどの携帯端末のメールは、ふつうに半角カナを送るようにも
思うので、あまり気にしなくてもよいのかな?

あと、何らかの障害が起きて、直接mysqlのコマンドでデータを見ようとしたとき
半角カナで登録されたデータは、半角カナのフォントが入っていないために
見られないといったこともあるかもしれませんし。
# カスタマレビューのように、お客さんの入力値がそのまま保存されるものは
# やっぱり、何がくるかわからないので、怖かったりします

ということで、半角カナはできれば扱いたくないとおもっています。


From: TAMURA Toshihiko <tamur****@bitsc*****>
Date: Fri, 07 Mar 2003 10:17:24 +0900
Subject: [Tep-j-develop] Re: mb_encode_mimeheader() default encoding

> HTTP_POST_VARS 等の配列をループで回して一括変換する手法でしょうか。

はい。そのとおりです。
HTTP_POST_VARS と HTTP_GET_VARS を ぐるっと ループで廻して、
怪しい部分を変換しておきます。
まずmb_convert_encodingでEUC変換するわけですが、autoではなく、
明示的に文字コードを指定するようにしておきます。
そのあとで、半角カナを全角に変換すれば、正しく変換できるかと。
# むかし、perlでBBS作ったときは、こんなかんじで変換してました

HTTP_POST_VARS と HTTP_GET_VARS だけなので、ぐるっと廻して処理しても
たいして処理は重くならないと思うのですが、いかがでしょう?
# 必要であれば、個人的に改修しますので、MS1JPの方針としては
# メールのみ対応でよろしいかとおもいます。

-- 
BrainHearts Corp.
Tsukasa Sakaguchi / t-sak****@brain*****
Tel. 045-290-7561



Tep-j-develop メーリングリストの案内
アーカイブの一覧に戻る