以下の現象に対処したいのですが、どうすればいいか弱っています。
(1) phpMyAdminからSQLでテーブルに日本語を挿入して、
PHPプログラムでブラウザー表示すると文字化け(?????で表示)する。
phpMyAdminでこのデータを表示すると、正しく日本語表示されている。
(PHPプログラム内で直接日本語データを記述して挿入しても同じ現象となる)
(2) ブラウザーで日本語を入力してPHPプログラムで受取りMySQLに出力して、
そのデータをPHPプログラムでブラウザー表示すると問題なく日本語が表示される。
phpMyAdminでこのデータを表示すると、文字化け(ぐじゃぐじゃの文字で表示)する。
利用しているホスティングサービスは、お名前・COMのVPSプラン
実行時の環境
MySQL: サーバのバージョン: 5.0.77
サーバ: Localhost via UNIX socket
MySQL の文字セット: UTF-8 Unicode (utf8)
MySQL の接続照合順序: utf8_unicode_ci
PHP : PHP5を使用
phpプログラムは、UTF-8で記述。
出力されるHTMLの文字セット
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
No.2ベストアンサー
- 回答日時:
MySQLに接続後に、mysql_set_charset('utf8');または(環境によっては)、"SET NAMES utf8"をクエリー発行してませんよね?
MySQL の接続照合順序: utf8_unicode_ci
は使い道が違うのか、クライアントからUTF8のクエリーを発行しても、PHPMyAdminでは文字化けしてしまうという事に散々悩まされました。
接続照合順序って言い方からすると、クライアントからのSQLの文字コードはUTF8であるという意味かと思えるのに。文字化けするって結果からみると、たぶん違うのでしょう。
※私自身、ここは理解できていません。ただ、mysql_set_charset('utf8');をすると文字化けせずに正常に登録されるので、それ以上の追求をしていない状態。
私が悩まされていたのと同じ現象なので、mysql_set_charset('utf8');でOKでしょう。
貴重なアドバイスありがとうございました。
下記の通り問題解決しました。
(1) mysql_set_charset('utf8');を現況環境下で使用できませんでした。(バージョンの問題と思います)
(2) SET NAMES utf8をクエリー発行したら、質問現象(1)が解消しました。同時に質問現象(2)についても意図通りに日本語が格納・表示できました。
うれしい!!!
No.1
- 回答日時:
phpMyAdminはログイン時に文字コードセットを指定するようになっていますが、これがutf-8になっていないということはありませんか?
ご確認ください。
早速アドバイスをいただきましてありがとうございます。
phpMyAdminは、お名前・COMのコントロールメニューから入りまして、メインメニューに以下の内容が表示された状態で使用しました。
(ログイン要求は特にありません。)
--------------------------------------
localhost
サーバのバージョン: 5.0.77
プロトコルバージョン: 10
サーバ: Localhost via UNIX socket
ユーザ: root@localhost
MySQL の文字セット: UTF-8 Unicode (utf8)
MySQL の接続照合順序: utf8_unicode_ci
-----------------------------------------
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- MySQL mysqlがインストールされているのかわかりません 1 2023/06/05 02:26
- MySQL mysqlがインストールされているのかどうか 1 2023/06/05 14:19
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- PHP 文字列を段落で分ける方法を教えて下さい。 2 2023/03/09 10:03
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- Windows 10 windows11 update の「更新の再開」について初歩的な質問なのですが 1 2022/10/19 00:57
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPでセッション導入後に初めて...
-
文字化けについて
-
UTF8のページでIEがシフトJISを...
-
携帯の文字化け
-
wordpressがMySQLに日本語デー...
-
EUC-JPのサイトをSHIFT-JISに変...
-
フォントの色を変えるには?
-
PHPのif文でその処理を途中で抜...
-
リンク先を隠す方法はないでし...
-
copy() で属性保存
-
onedrive にexcelファイルをア...
-
PHP session_destroyとsession...
-
「クラス関数」「メンバ関数」...
-
別PHPファイルに変数を渡す
-
VBSの「MsgBox」について
-
3つ以上の論理積は利用可能なの...
-
「@$変数」の「@の意味は?」
-
CFileDialogの最初のディレクト...
-
BASP21メール送信(SMTP-AUTH認...
-
htmlをphpにするにあたってデメ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EclEmmaレポートのエクスポート...
-
PHPで韓国語の表示がうまくいき...
-
PHPExcelバッファへの書き込み...
-
文字コード変えたら、fopenでき...
-
HTTPヘッダはメタタグにも記述...
-
Eclipseで文字化け
-
csvファイル出力時に文字化けし...
-
phpで動的タイトル
-
文字集合範囲外の文字とパーセ...
-
phpログファイルの文字化けにつ...
-
PHPで「®」や特殊文字のエスケープ
-
phpフォームで文字化け
-
Google Chromeで文字化け
-
発生した文字化けに対する対処
-
サーバーにアップすると文字化...
-
GEEKLOG(ギークログ) 文字化け
-
PHP time()に関しての質問です
-
文字化けについて
-
UTF8のページでIEがシフトJISを...
-
batファイルでうまく動かないプ...
おすすめ情報