• ベストアンサー

phpMyAdminで文字化け

下記の質問者と同じ状態「UTF8のPHPコードから日本語をINSERTするとphpMyAdmin上で文字化けしてしまう」になっています。 http://oshiete.nikkeibp.co.jp/qa3749280.html?ans_count_asc=1 そこでinsertの前に    $sql = 'set names utf-8';    mysql_query($sql); を挿入したいのですが、どこにどのように挿入したらいいのかわかりません。私の場合は以下のどこに挿入すればいいのでしょうか? // SQL実行 function db_query($sql, $conn) { $res = mysql_query($sql, $conn); return $res; } ~中略~ $sql = "INSERT INTO table1 ("; $sql .= " name, "; $sql .= " address, "; $sql .= " date "; $sql .= ") VALUES ("; $sql .= "'" . $name . "',"; $sql .= "'" . $address . "',"; $sql .= "'" . $date . "'"; $sql .= ")"; $res = db_query($sql, $conn); if ($res) { return "<p>成功</p>"; } else { return "<p>失敗</p>"; }

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

  • ベストアンサー
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.2

>色々と試しているのですが、うまく行きません。 どう試されているんでしょうか・・。ANo.1の方が書かれたように「接続直後」でもいいですし、INSERTの「SQLを投げる直前」でも有効だと思います。なのでうまくいかないケースを考える方が難しいです。 もちろん$sqlに他の文字列をセットしていると困るので、例示された書き方ではなく    mysql_query('set names utf-8'); と単独で書く方がお勧めですけど。

240t
質問者

補足

どうもありがとうございます。 $sql = "INSERT INTO table1 ("; の前に mysql_query('set names utf-8'); を挿入してみたのですが、phpmyadminでみると相変わらず日本語が文字化けしてしまいます。 文字化けの原因はset names utf-8ではないということでしょうか・・・

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • ranuwe
  • ベストアンサー率33% (7/21)
回答No.1

接続時にセットで一緒にやっちゃうといいと思いますよ。

240t
質問者

補足

色々と試しているのですが、うまく行きません。どこの行にどのように追加したらいいのでしょうか?

すると、全ての回答が全文表示されます。
LBT-TWS10 無線イヤホン PC接続
このQ&Aのポイント
  • LBT-TWS10無線イヤホンのWindows10でのペアリング後のマイク機能について詳しく教えてください
  • LBT-TWS10無線イヤホンのマイク機能がWindows10で正常に動作しない問題について相談です
  • LBT-TWS10無線イヤホンのマイク機能がWindows10で使用できない問題について質問です
回答を見る