Pocket

MySQLでの文字化けが発生した場合の対処方法(Linux)

cloud9 でのmysql で文字化けを起こしている場合の調査方法は下記コマンドで調査してみましょう

MySQL環境設定

確認方法

コマンドは show variables like “chara%”;   で調査します。
Valueが character_set_filesystem 以外が utf8 であればOKです。

下記のように”latin1″で設定されている場合は変更が必要です。

各種設定は下記の意味があります。

character_set_client    : クライアント側で発行したsql文はこの文字コードになる
character_set_connection  : クライアントから受け取った文字をこの文字コードへ変換する
character_set_database       : 現在参照しているDBの文字コード
character_set_results           : クライアントへ送信する検索結果はこの文字コードになる
character_set_server            : DB作成時のデフォルトの文字コード
character_set_system          : システムの使用する文字セットで常にutf8が使用されている

対処方法(設定変更)

/etc/mysql/my.cnfをvimかviで開き
該当セクションに以下を追記する。

※ sudo vi /etc/mysql/my.cnf

その後、mysqlを再始動

mysql-ctl restart

改めて文字コードを調べて、以下となっていれば成功

既にテーブルが作成されてた場合の文字コード変更方法

テーブルを削除(drop table) し新たにテーブルを作成しなおすことを進めるが文字コード変更するSQLもある。

対処方法

 

確認方法(person はテーブル名の例)

DEFAULT CHARSET=utf8
とutf8 へ変更されているか確認する。

補足)テーブル、カラム単位の文字コード設定は下記サイトを紹介いたします

ここ

一連のコマンド例

0

Comments

comments