3
3

More than 3 years have passed since last update.

phpMyAdminでテーブル構造を表示させる方法

Last updated at Posted at 2020-05-25

phpMyAdminのバージョン5.0.1で言語が英語だと構造が表示されるのに、下記のように日本語に変更すると表示されない場合の対処法です。
202005251134.png
こちらの記事を参考にしています。
解決!phpMyAdmin テーブル構造の内容が表示されない問題

作業環境

OS : Windows 10 HOME
phpMyAdmin : 5.0.1

Xamppのインストール方法

インストール方法については、別記事にて解説しています。
【環境構築】Windows10にXAMMPをインストール方法

解決方法

「Util.php」書き換える

Xamppを起動している場合は、停止します。
C:\xampp\phpMyAdmin\libraries\classesに移動します。
202005251126.png
Util.phpをエディタで開きます。
202005251128.png
1617行目の記述$ret = strftime($date, (int) $timestamp);を以下のように変更します。

$ret = strftime('%Y-%B-%d %H:%M', (int) $timestamp);

202005251127.png
Xamppを再起動して、phpMyAdminを開くと下記のように表示されました。
202005251125.png

表示されない原因

下記によると、表示されない原因は以下のとおりです。

strftime()の第一引数に、$dateの中身として%Y 年 2 月 %d 日 %H:%Mが渡されている。これ自体は仕様通りで問題が無いように見える。

しかし、strftimeを処理する際に、依存するWindowsのCライブラリでは、文字列を一度Shift-JISに変換している。つまり、UTF-8→SJIS→UTF-8の変換が行われている。ここで、漢字の「月」の字が文字化けを起こし、不正なマルチバイト文字と認識され、strftime()がfalseを吐いている、というのが真相である。

引用元:phpMyAdmin5.0.1の「状態」タブがFatal Errorで表示されないバグ

以上、phpMyAdminでテーブル構造を表示させる方法でした。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3