MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。
phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。
PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。
Q&A
3回答
3208閲覧
総合スコア39
0グッド
0クリップ
投稿2015/07/18 07:20
0
DBにinsertした日本語レコードがphp myadmin上で文字化しています。 DB接続はPDOでしていて、
php1$dsn = "$db_type:host=$db_host;dbname=$db_name;charset=utf8";
php
1$dsn = "$db_type:host=$db_host;dbname=$db_name;charset=utf8";
charsetはutf8にしています。
カラムの文字コードは、utf8-general_ci
TableオプションのCollationもutf8-general_ciに設定しています。
何が原因で文字化けが発生するのでしょうか。 ご教授お願いいたします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
回答3件
insert文の文字コードがutfになってないんじゃないですかね。 まずは、phpファイル自体のエンコード、insert文を組み立てる時に使ってる文字のエンコード(urlパラメータで渡ってきてるなら別の文字コードになってるはず)、内部エンコードなど、適切にutfになっているか確認してみてください。
mb_detect_encodingで変数のエンコードが何になってるか確認できます
投稿2015/07/26 12:43
総合スコア62
文字コード問題は自分もよく壁にぶち当たりますが、上記の情報だけではアドバイスが難しいように思います。 まずどのような文字コードのデータを文字コードが何で書かれたスクリプトでINSERTしたのかが重要と思います。
よくあるのは、excelをcsvで保存してスクリプト上でINSERTするときにSJISをUTF−8に変換せずにINSERTした場合などで、どの時点でどの文字コードになっているかを順を追っていくのが良いと思います。
投稿2015/07/21 02:40
総合スコア32
私は、.htaccess に下記を追記していますよ。
php_value default_charset UTF-8 php_value mbstring.input_encoding none php_value mbstring.internal_encoding UTF-8 php_value mbstring.output_encoding UTF-8 php_value mbstring.language Japanese php_flag mbstring.encoding_translation On php_value mbstring.substitute_character none
投稿2015/07/18 09:30
総合スコア1158
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
まだベストアンサーが選ばれていません
アカウントをお持ちの方はログイン
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.48%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
php myadmin上で日本語でinsertしたレコードが文字化けする
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。