DreamHostでmysqlの文字化け対策

この記事について

環境DreamHost、PHP、mysql
目的mysqlから取り出した日本語が????と文字化けするのを直す
結果接続時に mysql_query(‘SET NAMES utf8’) もしくは mysql_set_charset(‘utf8’) を実行して解決

つまずきポイント要約

  • SET NAMESには脆弱性があるのでmysql_set_charsetを使うのがいいよう

事象

DreamHost にてデータベースの情報を mysql で取り出すと日本語が????と文字化けする。

対処

文字化け対策としてデータベース接続時に文字コードを指定する。

$link = mysql_connect($hostname,$username,$password);

mysql_select_db($database) or die("Unable to select database");

mysql_query('SET NAMES utf8', $link); ←これを追記
//mysql_set_charset('utf8'); ←もしくはこれ

SET NAMES には脆弱性あるので mysql_set_charset を使うのがいいよう。

もしくは my.cnf で文字コードを指定する。

関連記事

タイトルとURLをコピーしました