![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
レンタルサーバでPHP+MySql(EUC-JP)で構築しています。
phpMyAdmin - 2.6.3-pl1
では、ja-eucがデフォルトだったのでphpやDBをEUC-JPで設計しました。DBにインポートするテキストファイルもEUC⇒EUCなのでphpMyAdmin上でも、ブラウザ上(php)でも問題なく表示されていました。
しかし、
phpMyAdmin - 2.8.2.4
では、ja-eucが無くなってしまったため、
仕方なくUTF8でテキストを作成し、UTF8⇒EUCインポートを実行しました。
すると、phpMyAdmin上では普通に表示されるものの、
php(html)では完全に文字化けしてしまいます。
文字化けしているのはデータベースから取得した値のみです。
ソースファイルは全く同じで、異なるのはphpMyAdminのバージョンだけなのでどう対処すればよいかわかりません。
どうやったら文字化けせずに表示できるでしょうか?
No.3ベストアンサー
- 回答日時:
・Mysqlに登録されているデータは本当にEUCですか?
http://jp.php.net/manual/ja/function.mb-detect-o …
私はUTF-8で登録されているんじゃないかと思います。
・Mysqlのバージョンはなんですか?
私は5系なんじゃないかと思います。
ご回答ありがとうございます。
あ、私も、そもそも『EUCで入っていないのでは?』と思いなおし、
先ほどmysql内のデータをダンプして調べてみたところ、やはりデータベース内のデータは『UTF8』でした。
ということは、インポート時のEUCオプションが効いていないことになります。UTF8⇒EUCに変更するオプションを使ってインポートしていたので、UTFのままだとは気が付きませんでした。
とりあえず原因が分かりましたので、php内でUTF8からEUCにコンバートすることで対処しました。
ありがとうございました。
No.2
- 回答日時:
Mysqlから取得したデータをPHPで表示させるのに
phpMyAdminはなんの関係もありませんよ。
Mysqlから取得したデータをPHPで文字コード変換して表示してください。
http://jp.php.net/mb-convert-encoding
この回答への補足
ご回答ありがとうございます。
AというサーバとBというサーバにある全てのファイルは同じです。
しかし、Aというサーバのphpでの出力は正常に表示され、Bというサーバのphpでの出力はDBから取得した値のみ文字化けします。
本来、サーバの設定やデータベースへのデータのインポート時の文字コードに何の関係も無いのであれば、結果は同じになるはずなので、そこが分かりません。
仮に文字コード変換で出来たとしても、今回の原因は不明となってしまい、今後Cというサーバに構築する際にまた同じようなことになる気がします。できればなぜこのようなことになるのか知りたいのですが、何かお心当たりなどありませんでしょうか?
No.1
- 回答日時:
>phpMyAdmin - 2.8.2.4
またずいぶん古いバージョンですが、新しいのではだめなのでしょうか?
せめてphpMyAdmin-2.9までいけば all-languagesバージョンでいけそうです
いまは 2.11.2.2らしいです
http://www.phpmyadmin.net/home_page/index.php
この回答への補足
ご回答ありがとうございます。
レンタルサーバなので、そこらへんの設定は運営会社任せかも知れません。また、同じ会社でもアカウント(サーバ)によって設定が異なり、
私が利用している2つのアカウントでも
・phpMyAdmin - 2.6.3-pl1
・phpMyAdmin - 2.8.2.4
の二つがあります。(サーバは契約時に自動的に割り振られるため、選択はできない)
ちなみにphpMyAdmin - 2.6.3-pl1 では、shift-jisで同じ文字化け問題が発生していたため、『デフォルト文字コード』だったEUCで構築したところ、phpMyAdmin - 2.8.2.4 では前回デフォルトだったEUC自体が無くなって『UTF8がデフォルト』になってしまったため、再び文字化け問題に遭遇してしまいました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- PostgreSQL PostgressからMySQL(MariaDB)へ構造を変更する際のTimestamp等について 2 2023/04/04 12:09
- その他(プログラミング・Web制作) 文字コード及びフォントに関する次の記述を読み,適切なものをすべて選べ。 ASCIIとは,英数字だけを 4 2023/01/11 19:10
- PHP PHP一覧表示した項目にリンクをはりたい 1 2023/07/12 17:08
- MySQL 下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 第二回模試の3科目の各得点と合 1 2023/04/25 18:02
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- その他(プログラミング・Web制作) sedの動作 2 2022/10/10 13:38
- PHP PHP MySql ページング 2 2022/09/20 06:38
- MySQL Mac です。ローカルホストの phpMyAdmin にアクセスできません。 1 2023/06/06 17:14
- その他(データベース) MariaDB データベースのユニークIDが偶数で生成されてしまう 1 2023/04/17 15:35
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
リンク先を隠す方法はないでし...
-
クライアント側での検索結果の...
-
PHPソースと、実行結果を表示し...
-
PHPで新しいウインドウで開く命...
-
ネットショップの運営に困って...
-
画面遷移に関して
-
phpMyAdmin - 2.8.2.4で『EUC-J...
-
【BAT(バッチ)ファイル】Web...
-
フォントの色を変えるには?
-
AccessのDoCmd.SendObjectについて
-
.phpと.incファイルの違いはな...
-
FTPコマンドでディレクトリごと...
-
【file_exists】ファイルが存在...
-
セッションのクッキー有効期間...
-
配列とオブジェクトの違い
-
VBAでJPGサイズ変更
-
複数のファイルで同じ定数を定...
-
SHGetSpecialFolderLocation
-
Subversionのリポジトリの削除
-
別ファイルの変数を呼び出した...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
リンク先を隠す方法はないでし...
-
PHPで新しいウインドウで開く命...
-
jpgraphで表示されない
-
PHPでTELNETを実装できる?
-
PHPやjavascriptを無効にする方法
-
textareaのvalueについて
-
csvデータをテーブル表示、指定...
-
str_replace()で、なぜ置き換わ...
-
htmlにコードを貼り、リファラ...
-
WinXP PHP5 Apache2 初期設定で...
-
英語圏で外注したソースが同じ...
-
PHPの利点
-
javascriptで切り替えて、php(...
-
phpのページが白紙で表示される
-
iphone/AndloidアプリをPHPで作る
-
静的HTMLにRDFを表示させる方法...
-
PHPで外部のhtmlを読み込んでソ...
-
PHPでつくる更新履歴 作り方と...
-
header("Content-type: applica...
-
フォントの色を変えるには?
おすすめ情報