勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

MySQLでphpMyAdminやAdminer上だけ文字化けする場合の対応方法

   2024/04/16  MySQL

レンタルサーバーのプログラムで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

  関連記事

htmlspecialcharsを通してMySQLに格納したものを元に戻して出力
htmlspecialcharsを通してMySQLに格納したものを元に戻して出力

MySQLにHTMLタグを入れたくない場合にhtmlspecialcharsを使 ...

MySQLでtext型カラムに入っている数値をint型としてソートする
MySQLでtext型カラムに入っている数値をint型としてソートする

MySQLでtext型として指定されているカラムがあり、その中には文字列であった ...

MySQLで月別に集計を行う。あと日付時刻関数。
MySQLで月別に集計を行う。あと日付時刻関数。

現在進行形でやっているデータ集計系だけど 新たな発見があったのでメモ。 ■日付時 ...

MySQLのクエリキャッシュの設定方法
MySQLのクエリキャッシュの設定方法

MySQLでのクエリキャッシュ設定及び設定項目について以下にメモ。   ...

PHPでmysqli関数使用時のプリペアドステートメントの利用方法
PHPでmysqli関数使用時のプリペアドステートメントの利用方法

PHPでMySQLを扱う際はmysqli関数を、エスケープの際はreal_esc ...