人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

現在携帯電話のメールフォームを作成し使用しているのですが
データベースへ登録の際文字化けが発生しうまく登録できず若干困っております。

プログラムに詳しい方でここが問題ではないか?

という意見がありましたらよろしくお願いいたします。

ページの環境状況、データベースへの登録状況ですが

●私と友人のソフトバンク携帯ですと文字化けなく登録できているようです。
●ページの文字形式ですがSJISで登録してあります。
●データベースはMYSQLです。

問題のあるサイトです。

http://oskuni7.sakura.ne.jp/auction_mobile.php

サイトのソース

http://oskuni7.sakura.ne.jp/keitai1.txt

問題のあるサイトの登録ページのソース

http://oskuni7.sakura.ne.jp/keitai2.txt

よろしくお願いいたします。

●質問者: aiomock
●カテゴリ:コンピュータ インターネット
✍キーワード:MySQL SJIS サイト ソフトバンク ソース
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● pahoo
●23ポイント
  1. MySQLの文字コードの設定が SJIS 以外になっていませんか?
  2. PHPの http_input の設定が SJIS 以外になっていませんか?

参考サイト

◎質問者からの返答

ご回答ありがとうございます。

1、1番ですが文字コードSJISでデータ表示しております。

2、登録の際の文字コードSJISになっております。

携帯電話au docomoの場合データの様子を見ていないのですが携帯電話などの問題等は条件として考えられますでしょうか。

もし知っている方おりましたらよろしくお願いいたします。


2 ● pahoo
●23ポイント ベストアンサー

#1のコメント:

1、1番ですが文字コードSJISでデータ表示しております。

いいえ、そうではなく、MySQLの設定はどうなっているか確認してください。具体的な手順は、#1の参考サイトをご覧下さい。

SJISで表示しようとしているのは、ソースコードから明らかですので。


2、登録の際の文字コードSJISになっております。

いいえ、そうでなく、PHPの環境変数 mbstring.http_input がどうなっているか確認してください。具体的な手順は、#1の参考サイトをご覧下さい。

SJISで登録しようとしているのは、ソースコードから明らかですので。


データの登録/参照の前に mb_detect_encoding でトラップを仕掛け、文字コードがどうなっているか調べてみてはいかがでしょう。


※設定された回答回数の上限になりました。さらにフォローが必要でしたら、コメント欄を開けていただくか、回答回数を増やしてください。

◎質問者からの返答

ご回答ありがとうございます。試してみます。


3 ● YOSIZO
●22ポイント

PHPの内部処理コードがSJIS以外になっていないでしょうか?

mb_internal_encoding()で内部処理コードを取得・設定できますので、DBからの入出力の際の文字コードを適切に変換してやる必要があるかと思います。

http://php.benscom.com/manual/ja/function.mb-internal-encoding.p...

◎質問者からの返答

ご回答ありがとうございます。試してみます。


4 ● mugitaro32
●22ポイント

mb_language("ja");

mb_internal_encoding("SJIS");

$from_email = "mail@xxxxxx";

$headers = "From: {$from_email}\n";

$headers .= "Content-Type: text/plain; charset=\"ISO-2022-JP\"\n";

$headers .= "Content-Transfer-Encoding: 7bit\n";

$headers .= "X-Mailer: PHP/" . phpversion() . "\n";

mail($to, mb_encode_mimeheader(mb_convert_encoding($title, "ISO-2022-JP", "JIS, eucjp-win, sjis-win,UTF-8")), mb_convert_encoding($main, "ISO-2022-JP", "JIS, eucjp-win, sjis-win,UTF-8"), $headers);

こんな感じでどうですか?

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

◎質問者からの返答

ありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ