• ベストアンサー

phpMyAdmin - 2.8.2.4で『EUC-JP』を使うには?

レンタルサーバで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のバージョンだけなのでどう対処すればよいかわかりません。 どうやったら文字化けせずに表示できるでしょうか?

  • PHP
  • 回答数3
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • calltella
  • ベストアンサー率49% (317/635)
回答No.3

・Mysqlに登録されているデータは本当にEUCですか? http://jp.php.net/manual/ja/function.mb-detect-order.php 私はUTF-8で登録されているんじゃないかと思います。 ・Mysqlのバージョンはなんですか? 私は5系なんじゃないかと思います。

banana_c
質問者

お礼

ご回答ありがとうございます。 あ、私も、そもそも『EUCで入っていないのでは?』と思いなおし、 先ほどmysql内のデータをダンプして調べてみたところ、やはりデータベース内のデータは『UTF8』でした。 ということは、インポート時のEUCオプションが効いていないことになります。UTF8⇒EUCに変更するオプションを使ってインポートしていたので、UTFのままだとは気が付きませんでした。 とりあえず原因が分かりましたので、php内でUTF8からEUCにコンバートすることで対処しました。 ありがとうございました。

その他の回答 (2)

  • calltella
  • ベストアンサー率49% (317/635)
回答No.2

Mysqlから取得したデータをPHPで表示させるのに phpMyAdminはなんの関係もありませんよ。 Mysqlから取得したデータをPHPで文字コード変換して表示してください。 http://jp.php.net/mb-convert-encoding

banana_c
質問者

補足

ご回答ありがとうございます。 AというサーバとBというサーバにある全てのファイルは同じです。 しかし、Aというサーバのphpでの出力は正常に表示され、Bというサーバのphpでの出力はDBから取得した値のみ文字化けします。 本来、サーバの設定やデータベースへのデータのインポート時の文字コードに何の関係も無いのであれば、結果は同じになるはずなので、そこが分かりません。 仮に文字コード変換で出来たとしても、今回の原因は不明となってしまい、今後Cというサーバに構築する際にまた同じようなことになる気がします。できればなぜこのようなことになるのか知りたいのですが、何かお心当たりなどありませんでしょうか?

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>phpMyAdmin - 2.8.2.4 またずいぶん古いバージョンですが、新しいのではだめなのでしょうか? せめてphpMyAdmin-2.9までいけば all-languagesバージョンでいけそうです いまは 2.11.2.2らしいです http://www.phpmyadmin.net/home_page/index.php

banana_c
質問者

補足

ご回答ありがとうございます。 レンタルサーバなので、そこらへんの設定は運営会社任せかも知れません。また、同じ会社でもアカウント(サーバ)によって設定が異なり、 私が利用している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

  • phpMyAdminでEUC-JPが使えません!

    phpMyAdminでEUC-JPが使えず、困っています。 環境は php 5 mysql 5 phpMyAdminは下記のバージョンをそれぞれ試しました。 phpMyAdmin-3.2.2-all-languages.zip phpMyAdmin-2.11.9.5-all-languages-utf-8-only.zip 解決策を探し下記の方法を試してみたのですが、 http://blog.kuruten.jp/php/79717 今度は下の通りエラーが出るようになりました。 「エラー  設定ファイルが秘密のパスフレーズ (blowfish_secret) を  必要とするようになりました 」 php,sqlはじめ開発環境をEUCで統一したいと思っているため、 何とかphpMyAdminでECU-JPを使いたいと思っています。 どなたか解決策のお分かりになる方がおりましたら、 ぜひご教授のほど、よろしくお願いします。

  • MySQL4.1にはEUC-JPが無い?

    MySQL4.1.16をダウンロードし、インストールを行いました。 しかし、my.iniを見てみると、デフォルトの文字コードが「latin1」というものでした。 phpMyAdminも2.7.0-pl1をダウンロードしてきて、 ブラウザ上で確認しようと思うのですが、 phpMyAdminの表示文字コードがUTF-8以外に変更も出来ず、 「~の順序」というやつもUTF-8のようで、 EUC-JPについては一切ありませんでした。 MySQL4.1.16、phpMyAdmin2.7.0-pl1の組み合わせでは 文字コードにEUC-JPは利用出来ないのでしょうか? また、phpMyAdminのバージョンだけ落としてしまえば 解消される問題なのでしょうか? 「MySQL Server Instance Config Wizard」から MySQLの構成変更を行ったらサービスを起動出来なくなったので 色々試せない状況にあります。 (アプリケーションのアンインストール、レジストリの削除、PC再起動という作業が大変)

  • phpMyAdmin内での文字化け

    サーバはさくらインターネットを利用してます。 レンタルサーバから専用サーバに移転したのですが、 専用サーバではphpMyAdminで日本語データの文字化けが起きます。 専用サーバのphpMyAdminからDB作成の際、下記の設定で行い、 MySQLの文字セット UTF-8 Unicode (utf8) MySQLの接続照合順序 utf8_unicode_ci DB の照合順序 utf8_unicode_ci レコードをINSERTする際、下記のように文字コードを指定し、 $sql=mb_convert_encoding($sql,"EUC-JP","EUC-JP"); execute_sql($con, $sql); 実行したら、phpMyAdmin内で日本語データが文字化けしました。 サイト内で表示しているDBデータ(日本語)は文字化けしませんでした。 DB の照合順序をutf8以外(ujis_japanese_ciなど)として、 DBを作った場合、レコードをINSERTしたら、サイト内のDBデータも phpMyAdmin内データもどちらも日本語が文字化けします。 また、レンタルサーバのphpMyAdminからDBデータをエクスポートして、 専用サーバのphpMyAdminからインポートした場合、 読み込むDBデータファイルの文字コードをUTF-8にしなければ、 phpMyAdmin内で日本語データが文字化けしてしまいます。 ただ、UTF-8にしてインポートしてもphpMyAdmin内では 文字化けしませんが、サイト内で表示しているDBデータは 文字化けします。 専用サーバのphpMyAdminから データを日本語の文字列に編集・更新したら、 phpMyAdmin内ではそのデータに関しては文字化けなく表示されますが、 サイト内ではそのデータは文字化けしてしまいます。 専用サーバ情報は下記の通りです。 【専用サーバ】 OS:CentOS 5 Apache 2.2.3 PHP5.1.6 DBサーバ:MySQL 5.0.77 アップしているファイルの文字コード:EUC 分かる方、ご回答、よろしくお願いいたします。

    • 締切済み
    • PHP
  • mysql utf8、php・euc-jp で出力すると、[~]が文字化けする

    タイトルの通りです。 mysqlの文字コードはutf8なのですが、phpはeucで出力しています。 DBに格納されている文字は文字化けせずに、きちんと表示されているのですが、出力すると「~」が「?」に化けて表示されてしまいます。 mysql_query(”SETNAMES ujis″); や mb_language("Japanese"); mb_internal_encoding("EUC-JP"); mb_http_input("auto"); mb_http_output("EUC-JP"); 等も記述しておりますが、どうしても化けてしまいます。 回避方法等ご存知の方がおられましたら、ご教授お願いいたします。

    • ベストアンサー
    • PHP
  • PHPでUTF-8からEUC-JPにエンコディングしたときに、一部の文

    PHPでUTF-8からEUC-JPにエンコディングしたときに、一部の文字が文字化けしてしまいます。(1)という文字です。データベースをEUCで作っていて、すでに色々なデータが入っているので、データベースをUTF-8とするわけにもいかないでの、なんとかEUCで保存しようとしているのですが・・・。 "テスト(1)"(UTF-8)をmb_convert_encodingでEUCにして、保存しますと、"テスト?"となっています。 テスト(1)をUTF-8の状態でブラウザで確認しますと、文字化けしないできちんと「テスト(1)」と表示されます。やはり、Mysqlに保存するときに文字化けしています。どなたか、似たような経験のある方がおりその原因がお分かりでしたら、教えてください。SJISにあるようなダメ文字というものなのでしょうか。確か「まぐまぐ」というメルマガの編集でも(1)という文字は使えませんでした。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • phpMyAdminでエクスポートすると、~やcmなどが文字化けします。

    phpMyAdminでMySQLのテーブルを CSVファイル形式でエクスポートして テキストエディタ(UnEditor)で開いたところ、 「shift-jis変換できない文字を含んでいます。  ?に変換します」 となりました。 ?に変換された文字は、~やcm(全角1文字でcm)などです。 どのようにしたら、文字化けしないで エクスポートできるようになるのでしょうか? 各テーブル、フィールドの照合順序はすべて utf8_general_ci に変更しましたが、 状況はかわりませんでした。 (変更前は、ujis_japanese_ciでした) レンタルサーバの為か、 my.cnfファイルは見つかりません。 ご存知の方がいましたら、教えていただけると、 助かります。m(_ _)m レンタルサーバー:さくら PHP 5.2.x PHP の文字セット:EUC-JP MySQL 5.1 MySQL の文字セット: UTF-8 Unicode (utf8) phpMyAdmin 3.1.3.1 windows XP

    • ベストアンサー
    • MySQL
  • ajax 文字化け euc-jp

    先程質問したものです データベースから取り出したときに文字化けだと思ったら プレーンテキストでも文字化けしてました。 どうやら原因はajaxを使ってテキストを(DBのデータはhtmlタグと共に返しています)返しているからのようです。 staticなtextの場合、eucではIEもFFも(サファリも)ajaxを使うと 文字化けをするらしいです。 utf-8ならIEとFFで使えるようですが、DBの都合上eucのまま 作りたいです。 どうにか文字化けを回避する方法はありませんか??

    • ベストアンサー
    • PHP
  • phpMyAdminにおいて閲覧した時に文字化け

    こんにちは。haven3と申します。 phpMyAdminにおいて閲覧した時に、日本語の文字化けが発生してしまいます。 経緯としては、 (1)textファイルにて、insert文を記述。(SJISもしくはUTF-8モードでそれぞれtextファイルを作成して試しましたが、文字化けしました。) (2)サーバーにてアップロード後、SSH上で、mysqlコマンドを使用してデータをインポート 下記は、phpMyAdmin上において、表示されている諸情報です。 MySQL - 4.1.20 プロトコルバージョン: 10 サーバー: Localhost via UNIX socket ユーザー: wguowner@localhost MySQL の文字セット: UTF-8 Unicode (utf8) MySQL 接続照合順序: 照合順序 utf8_general_ci phpMyAdmin - 2.8.2.4 MySQL クライアントバージョン: 4.1.18 使用中の PHP 拡張: mysql テーマ/スタイル 日本語 - Japanese 何かお気づきの点がありましたら、情報提供して頂けると助かります。 また、不足している情報があれば、お教え頂けますと幸いです。 よろしくお願いいたします。

    • ベストアンサー
    • MySQL
  • phpMyAdmin、インポートで全角カナ文字化け

    レンタルサーバでphpMyAdminもレンタルしています。 csvファイルをインポートしているのですが、 どうやらちょっとずつ文字化けしているようです。 やっと分かったのは 【1】 「ソ」が「ャ」になり、「ソ」以降のカタカナが文字化けしています。 (ソがない場合は、上記ソ以降の文字はきちんと表示されます) また、「予感」という字も「頼ェ」になっていました。 (テーブル数が少ない場合、上記の文字化けは起こりませんでした  また、phpMyAdmin上で入力すると、きちんと表示されます) 【2】 また、データに「─」や「圭」が入っていると、「CSV 入力のフィールド数が不正です」 というエラーが発生します。 【3】 こちらは、phpで作ったフリーワード検索ですが、 POST送信した際、「メ」→「ƒ」、「ー」→「[」と変換されます。 インポートするカタカナは、全角カタカナしか使っていません。 ───────────────────── MySQL: サーバのバージョン: 5.0.77-log プロトコルバージョン: 10 MySQL の文字セット: UTF-8 Unicode (utf8) Web サーバ Apache MySQL クライアントのバージョン: 5.0.45 PHP 拡張: mysqli phpMyAdmin:バージョン 3.2.4-rc1 ───────────────────── 文字コードはシフト-jisに統一しています。 (色々試しましたが、UTF・EUCでは、インポートした時点で主に「????」の文字化けが発生) 本当に行き詰ってしまい、テーブルデータなどを全て消して1から作り直したのですが…同じでした。 データ数が大変多いので、文字化けしているところを1つずつ直すというのはできません。 初歩的なミスなのかもしれませんが、思い当たらず質問をさせていただきました。 どなたかご存じの方がいらっしゃいましたら、ご教授お願い致します。

    • ベストアンサー
    • MySQL
  • phpmyadminで編集すると文字化けします

    こんにちわ。 mysql4.1を使用しています。phpMyadminでデーターを見ると、特に問題なく日本語表示していますが、一旦、phpMyAdmin上で編集をするとデーターが???と文字化けになって保存されてしまいます。アプリ(xoopsやoscommerceなど)での編集は問題なく可能です。 phpMyAdminのLanguageがutf-8しか選べず、euc-jpなどが選択項目にありません。 何か解決法はございますでしょうか?

    • ベストアンサー
    • MySQL

専門家に質問してみよう