WEBフォームから携帯にメールを送る際

半角カタカナが文字化けします。
文字化けしないように送るにはどうしたらよいのでしょうか?

携帯用一括メールシステムなんかは文字化けしないようにつくられているようですが
ネット上には「半角カタカナは使うな」としか書かれていません。
携帯端末のエンコードってSJISでしょうか?いろいろ試してみたのですがエンコードを送り手受け手であわしてみても半角カタカナの場所だけはエラーになったままです

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/09/18 20:26:27
  • 終了:2006/09/25 20:30:03

回答(7件)

id:b-wind No.1

b-wind回答回数3344ベストアンサー獲得回数4402006/09/18 20:45:51

ポイント20pt

携帯のメールは大抵のキャリアで ISO-2022-JP 及び Shift_JIS が対応しています。

ただ、実際には半角カナ・絵文字の関係で Shift_JIS を使う方が利便性は高いですね。

フォームから受け取った文字列を(必要があれば適切に変換して)Shift_JIS で送信してしまえば後は大して何もしなくても表示されるはずです。

あえて言えばメールのヘッダで

Content-Transfer-Encoding: 8bit

Content-Type: text/plain;charset=Shift_JIS

を設定するぐらいでしょうか。

http://q.hatena.ne.jp/1158578784

id:STRing No.2

STRing回答回数351ベストアンサー獲得回数362006/09/18 20:51:01

ポイント20pt

どう云った仕様のメール送信フォームを利用しているのか判りませんが、一般的な電子メールは ISO-2022-JP と云う文字コードを利用しており、その文字コードには半角カナはありません。

手元の talby でもメールの文章入力時には半角カナ入力が不能になります。

検証しているわけではありませんが、携帯電話の電子メールも PC 同様 ISO-2022-JP だと思いますよ。

それ以外である程度普及している物だと Unicode メールですけど、違うと思います。


CGI で半角カナを利用すると文字化けする例というと、 jcode を利用している場合を思いつきますが、それでしたら以下がまとまっていると思います。

めも日記(2005-08-01)

http://www.noppi.jp/diary/?date=20050801#p01

id:tikirou No.3

tikirou回答回数80ベストアンサー獲得回数82006/09/18 20:53:46

ポイント20pt

日本語メール本文に関して使われる文字コードは

一般的にISO-2022-JPです。

そしてこのISO-2022-JPは半角カナに対応していないはずです。

CGIにて半角カナは全角カナに変換してから送信することを

おすすめします。


http://www.yahoo.co.jp:URLはダミーです]

id:maruyamatyou

携帯では半角メールおくれているのはなぜ?

2006/09/18 23:07:42
id:pascal7 No.4

pascal7回答回数582ベストアンサー獲得回数982006/09/18 23:59:37

ポイント20pt

携帯用のWEBの作り方の本をちらりと見て見ると

半角カナ問題に触れていないようですが

そのjcodeは使っていないようです。

jcodeって

http://openlab.jp/Jcode/index-j.html

こんなのですか?

CGIで一バイト毎の文字処理が出来ると

各種漢字や半角カナが扱えます。

(メールで遅れるかどうかは知識がありません)

ただ

http://www-cms.phys.s.u-tokyo.ac.jp/~naoki/CIPINTRO/CCGI/kanjico...

こう言うサイトの説明を読んで理解できないと無理です。そして、完全な物は出来ないと思います。

-----------

携帯で半角カナが遅れるわけと言うのは

sjis対応サイトからSJIS対応のサイトに

漢字コード変換をせずに送信しているからと言うのではないでしょうか?

id:maruyamatyou

現在使ってるのはphpです。

mb_language()

mb_send_mail()でメールを送っているのですが

これだとうまくヘッダをいじれないんですね。

ヘッダをいじって

Content-Transfer-Encoding: 8bit

Content-Type: text/plain;charset=Shift_JIS

などと設定すればうまくいきそうなのですが、、

2006/09/19 00:46:42
id:tikirou No.5

tikirou回答回数80ベストアンサー獲得回数82006/09/19 00:24:23

ポイント20pt

回等受け付け中につき、コメントは無理なので

追加で回答します。

携帯の同一キャリア同士の場合は、半角カナが使用可能です。

ドコモの場合は、送信した後全角に変換され他社へ届きます。

vodafone,auは入力すら出来なかったような気がします

(cメール、スカイメールは入力可能)

強引に表示する方法はあるかも知れませんが

いろいろなユーザーが利用する環境なのであれば

推奨出来ません。


http://:title]

id:maruyamatyou

なるほど、ただ携帯懸賞システムとかって普通にWEB上のテキストエリアで編集した半角文字をそのまま携帯に送信できるんですよね。

不思議だ

2006/09/19 00:45:16
id:pascal7 No.6

pascal7回答回数582ベストアンサー獲得回数982006/09/22 00:20:22

ポイント10pt

こんな説明ではどうでしょう?

まず、自分に「123正カナABCabc」と言う本文のメールをします。

半角の123と漢字の正と半角カナのカナと半角大文字のABCと半角小文字のabcを打っています。

(OutlookExpressを使っているのでOutlookExpressの説明ですが)

1.届いたメールを選択します。

2.マウスの右クリックでメニューを出してプロパティを選びます。

3.詳細のタグを選びます。

4.メッセージのソースボタンを押します。

すると以下の様な文字列が見つかります。

「123正カナABCabc」が

「123(ESC)$B@5%+%J(ESC)(BABCabc」に変換されています。

実害があるかも知れないので張り付けるときにエスケープコードと言う文字コードは(ESC)に変更しました。

123は生で入っており、

次に(ESC)$B

漢字の始まりですよと言う記号が入り、

漢字の正が@5と言う

JIS漢字コードに変換され入っています。

半角のカナは全角のカナに変換され

%+%Jと言うJIS漢字コードで格納されています。

次に(ESC)(Bと言う漢字の終了の記号が入り。

ABCabcは生で入っています。

次に秀丸に(秀丸を普段使ってるからだけの意味です)

「123正カナABCabc」の文字列を読み込みます。

動作環境のツールバーの詳細で、その他のグループの中の文字コード表示を有効にします。

例えばカーソルを正においてコードのボタンを押すと各種コード体系ではどう言う数字になるかわかると思います。

半角は8ビットで出来ており。十六進数の2桁で表されます。

数字のゼロが30hであるとか、英字のAが41hであるとかになります。漢字の正はJIS漢字コードで4035hで、40h=@、35h=5ですのでメールのソースを調べたときに正が@5になった理由がわかったでしょうか?

後は、半角カナを扱える携帯ででもメールを送り。

どの様な変換が行われるのかを調べて、

同じような変換を行うライブラリを作成すると

言う事になると思います。

ただ、半角カナが送れるシステムどうしで扱っている間はうまく行くかも知れませんが、インターネットメールは、メールサーバを転送されながら伝わっていくので間に半角カナを扱えないメールサーバーがかんでしまうと文字が壊れてしまうと思います。

以下は文字コード表です。

アルファベット、半角カナ

http://ash.jp/code/codetbl1.htm

漢字

http://ash.jp/code/unitbl21.htm

http://ash.jp/code/

id:toka0000 No.7

toka0000回答回数1ベストアンサー獲得回数02006/09/19 08:51:24

ポイント10pt

mb_send_mail()は使用せずにmail()を使用してはどうでしょうか?

@mail($mailto,$subject,$body,$header);

http://:title]

  • id:b-wind
    http://jp2.php.net/mb_send_mail
    第4引数でヘッダを指定できるみたいですよ?
    Shift_JIS であれば半角カナも問題なく送信できます。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません