MySQLでphpMyAdminやAdminer上だけ文字化けする場合の対応方法
2024/04/16
レンタルサーバーのプログラムでWebページ上では文字化けしていないのに、phpMyAdminやAdminer上では文字化けしているというケースがあった。
mysql_client_encoding()で調べるとlatin1となっていた。set_charsetではutf8を指定しており、MySQL側の文字コードもutf8として設定していた。
原因
PHP側の以下部分が原因だった。
$mysqli->set_charset('utf-8');//こうなっていた。これはアウト。
$mysqli->set_charset('utf8');//これが正しい
latin1として設定されているMySQLに無理やりutf8の内容を突っ込んでいた為、MySQL上では文字化けしており、PHPプログラム側ではutf8で取得できていたみたい。
関連記事
-
-
htmlspecialcharsを通してMySQLに格納したものを元に戻して出力
MySQLにHTMLタグを入れたくない場合にhtmlspecialcharsを使 ...
-
-
MySQLでtext型カラムに入っている数値をint型としてソートする
MySQLでtext型として指定されているカラムがあり、その中には文字列であった ...
-
-
MySQLで月別に集計を行う。あと日付時刻関数。
現在進行形でやっているデータ集計系だけど 新たな発見があったのでメモ。 ■日付時 ...
-
-
MySQLのクエリキャッシュの設定方法
MySQLでのクエリキャッシュ設定及び設定項目について以下にメモ。 ...
-
-
PHPでmysqli関数使用時のプリペアドステートメントの利用方法
PHPでMySQLを扱う際はmysqli関数を、エスケープの際はreal_esc ...