RSS

PHP / MySQL文字化け対策

26 5月

デフォルトの設定ではラテン文字(ASCII)になっているので、文字化けが頻繁に発生します。

次のような環境で文字化けが発生したときの対策例です。

  • PHP 7.0 (mysqli)
  • MySQL 5.7
  • Ubuntu16.04LTS

まず、MySQL のテーブルの文字コード設定が utf8 になっているか確認します。

(コマンド入力例) mysql> show create table table1;

DEFAULT CHAR SET=latin1 になっていたら修正します。

(コマンド入力例) mysql> alter table table1 default charset=utf8;
必ず show create table で変更されたか確認します。カラムによっては latin1 のままになっていることがあります。そのような場合は、そのカラムの文字コードを変更します。

(コマンド入力例)alter table table1 change column1 column1 varchar(100) default charset=utf8;

PHP 側ですが、mysqli::set_charset(‘utf8’) を実行しておきます。これにより、PHPがUTF-8を使っていることを認識します。

 

 
コメントする

投稿者: : 2016/05/26 投稿先 MySQL, PHP

 

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

 
%d人のブロガーが「いいね」をつけました。