[初回公開] 2009年01月30日
データベースの MySQL をブラウザで操作することができる phpMyAdmin は利用する文字コードを選択することで日本語など全角文字にも対応が可能だが、文字コードが EUC-JP の時に文字化けして利用できない場合の対応方法について紹介する。
このページの目次
1.phpMyAdmin が EUC-JP で文字化けする様子
phpMyAdmin が EUC-JP で文字化けする様子としては、下図のように MySQL に登録されている全角文字が文字化けしてしまう。
この状態の時はまだ MySQL 内のデータは正常で phpMyAdmin の表示側だけの問題だが、文字化けした状態で phpMyAdmin から値を変更してしまうとデータベースの値も文字化けした状態で保存されてしまう。
2.EUC-JP とは
EUC-JP(Extended UNIX Code Packed Format for Japanese)とは、UNIX OS で全角文字である日本語が定められた文字の規格である。
ASCIIとJIS X 0208 の文字集合を配置したもので、半角カナ (JIS X 0201) と JIS 補助漢字 (JIS X 0212) も含むんでいる。
2000 年初頭では Windows OS では SJIS、UNIX OS では EUC-JP で変換することが多かったが、名前の通り日本語しか利用できないため中国語や韓国語は文字化けしていた。
最近ではどの言語でも対応できる UTF-8 が一般的に利用されており、データベースの言語設定も UTF-8 とすることが多い。
3.phpMyAdmin が EUC-JP で文字化けする理由
phpMyAdmin が EUC-JP で文字化けする理由としては、phpMyAdmin の各文字コードを取り扱うライブラリが正常に動作しない点が挙げられる。
4.phpMyAdmin で EUC-JP のデータが文字化けする場合の対応方法
phpMyAdmin で EUC-JP のデータが文字化けする場合の対応方法としては、文字コードを取り扱うファイルの読み込みを強制的に中止させることである。
phpMyAdmin を設置しているディレクトリ内の「libraries」にある database_interface.lib.php の 848 行目から 910 行目あたりにある下記の行をコメント化して読み込まないする。
尚、今回利用している phpMyAdmin は「phpMyAdmin-2.11.9.4-all-languages.zip」を利用しており、バージョンによってファイル構成や記載されている行数は異なっていることある。
if (PMA_MYSQL_INT_VERSION >= 40100) {
<略>
} else {
require_once ‘./libraries/charset_conversion.lib.php’;
}
charset_conversion.lib.php を読み込まないようにした後は、phpMyAdmin にブラウザでアクセスして文字コードを下図のように 「Japanese(euc)」を選択してログインする。
次に日本語の全角文字があるテーブルを参照すると、文字化けが解消されているのが確認できる。
関連記事
YouTube のチャンネル登録者数の確認と表示設定する方法
YouTube で動画をアップロードしている人にとって気になる 1 つが自身のチャンネルの登録者数で、以前は登録者数を非表示にすることができていたが現在は強制的にチャンネル登録者数が表示される…
CM をカットして動画配信サイトの動画をダウンロードして保存する方法
動画配信サイトの動画は見たい時に好きなだけ視聴できるメリットがあるものの、公開期間を迎えると見れなくなるものもあり、時間が無いときのために再生した冒頭に流れる CM をカットして動画を…
ブラウザやスマホアプリで YouTube の動画を再生すと使っている端末や通信速度から自動的に最適な画質に設定されて再生されるが、自由に変更して高画質にする方法と、古いバージョンの画質設定…