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

phpMyAdminについて質問です。

phpMyAdminにPHPでデータを登録しているのですがデータが文字化けしてしまいます。

文字化けが起こってしまうのは空白(スペース)部分でその他の部分は一切文字化けしていません。

現在以下のようにしてメールフォームで入力してもらった姓と名を
入金チェックしやすいように全角空白で空けた名前に変換登録するという処理をしています。

$namae=$namae_sei." ".$namae_mei ;

このデータをphpMyAdminに送っているのですが、

名前(セイ)縲?名前(メイ)

のようにスペースが縲?の様な風に文字化けしてしまいます。

PHPで送る文字形式がUTF-8形式ですと空白を空白として登録ができました。

しかし,どうしてもSJIS形式、もしくはEUC形式で保存したいと考えております。

解決方法を知っている方どうぞよろしくお願いいたします。

●質問者: aiomock
●カテゴリ:コンピュータ インターネット
✍キーワード:PHP phpMyAdmin SJIS UTF-8 データ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● pahoo
●35ポイント ベストアンサー

まず、確認ですが

phpMyAdminにPHPでデータを登録している

の手順を具体的にお知らせください。


PHPを使い MySQL にデータ登録を行い、それを phpMyAdmin で閲覧しているという手順ではないでしょうか?

もうそうだとすると、phpMyAdmin、MySQL、PHPのすべての文字コードセットがSJISに設定されているかどうかご確認ください。

◎質問者からの返答

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

PHPを使い MySQL にデータ登録を行い、それを phpMyAdmin で閲覧しているという手順になります。

先ほどコードを再確認をしてデータ登録状況を確認してみましたがやはり空白スペースの所のみ 縲? という文字化けが起こってしまいます。


2 ● ゆーの
●35ポイント

すでにやられているかもしれませんけれども。

空白だけ化ける、ということですので、全角空白を追加している処理

$namae=$namae_sei." ".$namae_mei ;

において、$namae_sei など変数に格納された文字列とリテラル(" ")で異なるエンコードになっていることは確実だと思います。

したがって、(1) 変数に格納された文字列が想定外のエンコードのケース、(2) リテラルの文字列が想定外のエンコードのケースしかありえません。

(1) については、mbstring.input_encoding の値によっては、自動変換されて想定していないエンコードになってしまうケースが考えられます。

確実に想定したエンコードにするには、pass にしてまったく変換させないか、送られてくるはずのエンコードにあわせるのいいかと思います。

(2) については、ソースコードのエンコードと mbstring.internal_encoding が想定どおりのものかどうか、を確認する必要があります。

詳しくは次の URL などを参考にされるといいかと思います。

http://wiki.ohgaki.net/index.php?PHP%2Ftips%2F%E6%97%A5%E6%9C%AC...

直接の回答ではありませんが、お役に立てれば幸いです。

◎質問者からの返答

御回答ありがとうございます。試させていただきます。

関連質問


●質問をもっと探す●



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