勉強したことのメモ

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

  関連記事

MySQLに保存したデータをJSON形式で取得する方法

MySQLに保存したデータをJSON形式で利用したいということがたまにある(Ja ...

MySQLで「Incorrect integer value: '' for column」エラーの対応方法

MySQLで「Incorrect integer value: '' for c ...

MySQLでIPを整数値としてカラムに格納する

MySQLでIPを整数値としてカラムに格納しているケースがあった。今までIPが必 ...

MySQLのRANK及びDENSE_RANK関数を用いてランキングを実装する方法

ランキング機能を実装する際、上位〇位までのデータをMySQLから持ってきて順位付 ...

MySQLで経度緯度から半径○Kmのデータを抽出する方法

経度と緯度をtext型として格納しているMySQLのテーブルがあり、指定した経度 ...