自分なりに調べてみたのですが,わからないのでお尋ねいたします。
phpmyadminからmysqlに直接日本語を打ち込むと,ちゃんと日本語が表示されます(phpmyadmin内でデータを再度呼び出した時)。が,phpのプログラムからmysqlにデータをinsertし,phpmyadminでデータを参照すると日本語部分のみ文字化けします。
同じプログラムをアイルサーバで動かしていて,そこではうまくいっているのですが,ファーストサーバでうまくいきません。
ファーストサーバの文字コードはEUC-JPですが,phpもプログラムもEUCで書いています。メール送信部分のプログラムは,ちゃんと日本語が出ています。
日本語文字化けの場合に,チェックするべきところは,どういうところがありますでしょうか?。多分,phpというよりはMYSQL側の問題のような気がしないでもないのですが・・・。
No.3
- 回答日時:
phpmyadminのログイン時EUC-JPでログインしてないとか?
phpファイル保存時SJIS形式で保存されているとか?
ma2shinさん、ありがとうございます。
PHPファイルの保存はEUCになっています。
>phpmyadminのログイン時EUC-JPでログインしてないとか?
これがよくわからないのですが、ログインする時にEUC-JPを選ぶような入力ボックスはないのですが・・・何か私、カンチガイしているでしょうか?。
ちなみに、phpMyAdminを開いて、左フレームのプルダウンメニューが「データベース」という状態での右フレームの状態は、以下のようになっています。
MySQL の文字セット: UTF-8 Unicode (utf8)
MySQL 接続照合順序 utf8-unicode-ci
また、その右に表示されているphpMyAdminに関する情報は
phpMyAdmin - 2.9.0.2
言語 - Language 日本語japanese
です。
No.2ベストアンサー
- 回答日時:
INSERT 前に以下のようにして "SET NAMES 文字コード" で MySQL に文字コードを指定してみてください。
mysql_query("SET NAMES EUC-JP");
phpMyAdmin は起動時に文字コードを指定しているのでphpMyAdminだと正常に処理されるのだとおもいます。
この回答への補足
とにかく簡単なコードで確かめてみようと,下記のようなコードを暫定的に作成して確かめてみました。
--------------
$name="やまだはなこ";
//データ登録
mysql_query("set names euc-jp");
$sql = "insert into TUI_usertest(k_name) values('$name')";
--------------
が,結果はやはりk_nameが化けています。
¤Ï¤Þ¤À¤Ê¤ª¤?¤Ã¤Á
このような化け方です。
mysql_query("set names euc-jp");
の使い方がおかしいでしょうか?。
mysql_query("set names ujis");
これで解決しました。
もう諦めて手作業にしようかと思いながらやっていた最後のトライ&エラーでした。
皆様,ありがとうございました。
No.1
- 回答日時:
どちらかというとPHP側の問題のような気もします。
インサートする日本語文字列にmb_detect_encodingをかけて文字コードを調べてみてはいかがでしょう。
PHPMyAdminからインサートする分には問題ないということですが、念のため確認もかねて、PHPMyAdminの参照順序がLatinなどになっていないかも確認するとよいかもです。(EUCだとujisだったかと)
ありがとうございます。
mb_detect_encodingをかけてみましたが,EUC-JPでした。
あと,参照順序については,Latin1なんとやらになっていたので,この部分も,ujisに修正して実行してみましたが,結果は変わりませんでした。
phpもmysql自体も初心者に近いので,なにか基本的なことを見落としているのかもしれません・・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
- PostgreSQL PostgressからMySQL(MariaDB)へ構造を変更する際のTimestamp等について 2 2023/04/04 12:09
- MySQL mysqlがインストールされているのかどうか 1 2023/06/05 14:19
- その他(プログラミング・Web制作) 文字コード及びフォントに関する次の記述を読み,適切なものをすべて選べ。 ASCIIとは,英数字だけを 4 2023/01/11 19:10
- その他(メールソフト・メールサービス) メールソフトを教えてください 1 2023/03/28 23:32
- MySQL mysqlがインストールされているのかわかりません 1 2023/06/05 02:26
- PHP ここで言うトークンの意味を教えてください。 3 2022/08/24 03:03
- その他(プログラミング・Web制作) ゲームを日本語化しようとすると文字化けしてしまいます。 2 2022/08/19 15:36
- 日本語 日本語はどのくらい難しいですか? 日本育ちの日本人です。 漢字検定の勉強をしてるのですが、同じ言葉で 3 2022/07/12 13:09
- Android(アンドロイド) 海外のAndroid 端末の場合、日本語全角は、どう表示されるのでしょうか? 1 2022/10/02 21:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ブラウザゲーム作成までの道の...
-
フォントの色を変えるには?
-
PHPの設定で、 エラーが発生し...
-
onedrive にexcelファイルをア...
-
Linux:PHPでTELNETによるSMTP...
-
ListViewコントロールでサムネ...
-
ボタンのクリック数を合計保存...
-
ワードプレス、Contact Form 7...
-
PHPのif文でその処理を途中で抜...
-
現在位置より2つ上のディレク...
-
別ファイルの変数を呼び出した...
-
【file_exists】ファイルが存在...
-
UWSCでファイルのアップロード...
-
PHPExcel処理速度が遅い
-
PHPで`headers already sent`と...
-
【PHP】declare命令で”Fatal er...
-
PHP8を使うと、大量のWarningが...
-
mysql_close()
-
aws cloud9というものを使って...
-
別PHPファイルに変数を渡す
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPのみでの背景色は指定できる...
-
smartyでホームページ上の画像...
-
eclipseのエラーの意味
-
FORMタグを使わずに、POSTする...
-
phpとaspの違いについて
-
ここで言う空文字の意味とは?
-
PHPからPerlにデータを渡して結...
-
VBおすすめ書籍
-
携帯電話のwebページでphpによ...
-
php エラー
-
書籍よりも より良い htmlspeci...
-
語句の意味を教えてください
-
functionCheckAuthについて
-
さくらのレンタルサーバーでメ...
-
PHPで、楽天APIを自動更新さ...
-
コメント投稿
-
PDOのlastInsertIDについて
-
PHPでの感嘆符
-
PHPとOracleの接続ができない
-
CGI(Perl)でできてPHPではで...
おすすめ情報