• ベストアンサー

phpMyadminに直接入力したら文字化け

案の定、??????になってしまいました。 PHPで作ったフォームから入力した文字ではなく、phpMyAdiminから 直接入力したら文字化けしました。 おそらく入力モードがSHIFT-JISなんだと思います。 でも、それを変更できるモードがあるのでしょうか? 初期画面の文字コードは「utf8-unicode-ci」としています。 今回はutf8でPHPプログラムするつもりです。 それらしいunicode-ciを選択しました。 直接入力して、 どうすれば文字化けしないで解決できるでしょうか? よろしくお願いします。

noname#102630
noname#102630
  • MySQL
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • jtam
  • ベストアンサー率100% (2/2)
回答No.1

見当違いの回答だったら申し訳御座いません。 自信は全く御座いません。 phpmyadminでDBまたはテーブルを作成する際の照合順序はunicode-ciに設定していらっしゃいましたか? DBを新規に作成する権限をお持ちでしたら unicode-ciを選択した後、DBを新規に作成→unicode-ciを選択した状態でテーブルを新規に作成 DBの新規作成権限が無い場合は unicode-ciを選択した状態でテーブルを新規に作成 を試していただけると入力出来るかもしれません。

noname#102630
質問者

お礼

回答ありがとうございます。 まだ試していませんが、なんとなくそれでできそうな気がします。 またご報告しますのでよろしくお願いします。

noname#102630
質問者

補足

その後、ブラウザー上からPHPでフォームを作って、同じ文字コードに設定して入力したら無事うまくいきました。

関連するQ&A

  • phpMyAdminで文字化け

    MySQLを3.27→5.0にしました。 PHPからデータベースに書き込むと、3.27のときは普通に書き込めたのですが、 5.0になったら文字化けしてしまいます。 コードは全てUTF-8で統一しています。 phpMyAdminは $cfg['DefaultLang'] = 'utf-8'; $cfg['DefaultConnectionCollation'] = 'utf8_unicode_ci'; $cfg['Lang'] = 'utf-8'; $cfg['DefaultCharset'] = 'utf-8'; と設定をしています。 どのようにすれば文字化けがなくなるのでしょうか?

    • 締切済み
    • PHP
  • phpMyadminの文字化け

    さくらレンタルサーバを利用し、問合せフォームを作成しています。 問合せ内容をプロシージャを使いデータベースに格納しています。 タイトルにもありますようにデータベース格納後phpMyAdminで見た際に文字化けしてしまいます。 半角数値は見れるのですが、日本語は文字化けしてしまいます。 環境は以下の通りです。 ■さくらレンタル DB:MySQL クライアントのバージョン: 5.1.30 MySQL の文字セット: UTF-8 Unicode (utf8) MySQL 接続の照合順序 utf8_general_ci テーブルの照合順序utf8_general_ci カラムの照合順序utf8_general_ci ■Web サーバ Apache(バージョン不明 phpMyAdminのバージョン3.2.3 PHPバージョン5.2.11 データベース接続方法 PDOを使用し、プロシージャーをコールしています。 プロシージャーのクリエイト文では文字コードのセットはしていません。 phpMyAdminからプロシージャを直接コールすると文字化け致しません。 $this->dbh = new PDO(DB_NAME, DB_USER, DB_PASSWORD); $this->dbh -> query("SET NAMES UTF-8;"); 上記で接続しています。 ■PHPファイル phpのエンコードはShift-JIS メタタグは以下の用にしています <meta http-equiv="Content-Type" content="text/html; Shift_JIS" /> <meta http-equiv="Content-Language" content="ja" /> プロシージャのパラメーター設定時に mb_convert_encoding($_SESSION['other'],"UTF-8") セッションの値をUTF-8にエンコードして設定しています。 上記のようになっております。 メタタグでUTF-8に設定すればいいのでしょうか? 設定またはエンコード方法で解決できるのでしょうか? 以上、よろしくお願いします。

    • ベストアンサー
    • MySQL
  • phpMyAdminのみで文字化けするのですが、

    phpMyAdminのみで文字化けするのですが、どういった原因が考えられるでしょうか? また、そもそもこういうことって、あり得るのでしょうか <環境> ・MySQL 5.1.22-rc ・レンタルサーバー(phpMyAdmin - 2.10.1) ・WindowsXPのパソコン ・PHPの書籍に添付されていたサンプルプログラム <経緯> 1.元々は、EUC-JPで保存されていたPHPのサンプルプログラムなのですが、 UTF-8で保存すれば、mb_convert_encodingしなくてもすむのではないかと思い、、 UTF-8で保存しなおしました。 2.レンタルサーバーへSSH接続して、「テーブル作成」と「データ流し込み 」のコマンドを実行しました。 3.ブラウザで、サンプルプログラムの動作確認を行ったところ、日本語で データの新規登録・更新・削除が無事行えました。 また、表示も問題なく行われていました。 4.phpMyAdminを使い、データベースへアクセスしてみたところ、 何故かデータがすべて文字化けしていました。 5.phpMyAdminでエクスポートしてみたのですが、データは文字化けしたままでした。 6.データが壊れたのかと思ったのですが、ブラウザで、サンプルプログラムの 動作確認を再度行ってみたところ、日本語で正常に動作しています。 そういうものなのでしょうか。 <その他> ▼UTF-8で保存しなおした内容 $sql = mb_convert_encoding( $sql, "SJIS", "EUC-JP");となっていた箇所を削除しました。 また、 <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">となっていた箇所を <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />へ変更し、 ファイルを自身を、UTF-8で保存しなおしました。 ▼MySQL の文字セット: UTF-8 Unicode (utf8) ▼MySQL の接続照合順序: utf8_unicode_ci

    • ベストアンサー
    • MySQL
  • 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
  • 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
  • 文字化けを直すには

    現在別のサイトで使ったメールフォームを元に、別のメールフォームを作り直しているのですが、 文字化けが発生してしまいます。 元々のサイトで使っていたメールフォームのエンコードはUTF-8で、今回はshift-jisになるので メタタグで文字コード宣言をshift-jisにしているのですが、それでも文字化けが起こります。 エンコードをutf-8にすると直ります。 修正の仕方を調べても文字コードの宣言しか見当たらないので、どのように修正してよいか わかりません。 原因等わかる方がおられましたら教えてください。

  • コピーすると文字コードが変わっちゃう

    プログラムを(ちなみにPHP)エディター(ちなみに秀丸)で入力して保存時にエンコードの種類を「Unicode(UTF-8)」で保存 もちろんプログラム(HTML/PHP記述)では <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> を指定しています 実行すると文字化けも起こらず正常にホームページが完成しました それをコピーして別のサーバーにアップすると正常にホームページが開かないんです 文字化けだけでなくソースが画面に表示されました そのソースも文字化けです コピー先をエディターで開くと「日本語(Shift-JIS)」になっていました コピー元は「Unicode(UTF-8)」です なぜでしょう? そもそも「Unicode(UTF-8)」をコピーするには単純にコピーしてはいけないのでしょうか? プログラムの量が結構あるのでこの「日本語(Shift-JIS)」を一括して「Unicode(UTF-8)」に保存できるようなツールはないのでしょうか?

  • phpMyAdminで文字化け

    phpMyAdminで日本語が文字化けします。 PHPの文字コードがUTF-8で phpMyAdminのconfig.inc.phpの文字コードもUTF-8にしています。 phpMyAdminのバージョンは3.1.4です。 どのようにしたら日本語が文字化けしないでしょうか? 宜しくお願いします。

    • ベストアンサー
    • PHP
  • PHPのコードをUTF-8に変換したい。

    なんとかメールフォーム設置までこぎ着けたのですが、届いたメールが文字化けしてしまいます。HTMLの文字コードがUTF-8、PHPの文字コードがshift-jisなので原因はそこだと考えたのですがPHP内のshift-jis表記をUTF-8に変えるとPHP内で文字化けが起こってしまいます。 MultiTextConverterなどのアプリケーションを使っても同様の文字化けが起こります。 どうすればいいのか分かりません。 よろしくお願いします。

    • 締切済み
    • PHP
  • リダイレクトする時の文字コードをUnicodeに

    現在、VisualStudioで、システムコールの標準出力結果をリダイレクトしてファイルに保存する プログラムを書いています。 _tsystem(command); のような感じで、commandには "hogehoge > hoge.txt"のように入ります。 ※command はTCHAR この出力結果が、Shift-Jisになっているようで、Shift-Jisだと日本語が文字化けせずに表示されるのですが、Unicode UTF-16にすると文字化けしてしまいます。 Unicode UTF-16とかUnicode UTF-8など文字コードを指定してリダイレクトできないのでしょうか。 ちょっと調べてみましたがうまく見つかりませんでした。