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で取得できていたみたい。
関連記事
-
-
MySQLで経度緯度から半径○Kmのデータを抽出する方法
経度と緯度をtext型として格納しているMySQLのテーブルがあり、指定した経度 ...
-
-
MySQLでIPを整数値としてカラムに格納する
MySQLでIPを整数値としてカラムに格納しているケースがあった。今までIPが必 ...
-
-
PLESK利用時にMySQLでrootのパスワードが分からない場合の対応方法
pleskで管理しているサーバがあり、mysqlのrootのパスワードが分からな ...
-
-
PHP / MySQLで2038年問題の対策
先日打ち合わせの際に「タイムスタンプを使ってユニークキーに云々~~」といったよう ...
-
-
MySQLで特定のテーブルにパーティショニング設定し高速化を図る方法
以前に他社が設計されたログ系のテーブルを拝見した際にパーティショニング設定が行わ ...