半人前技術者の成長記

挫折と妄想を膨らませながら成長するだろう技術者の日記

DB

MySQL5.1 文字化け

投稿日:

MySQLの文字化けにハマったので備忘録として残します。

UTF-8の場合の設定は、下記の設定をmy.iniに追加します。

[client]
default-character-set=utf8

[mysqld]
default-character-set = utf8

上記の設定する前に作成されたテーブルでは、一部設定が反映されない。
実際に設定を見たら下記の通りになっていた。

mysql> show variables like 'character_set%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

character_set_databaseがlatin1のままになっていた。
そこで、一度該当のデータベースを削除後、再度作成すると
下記の通りになった。

mysql> show variables like 'character_set%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

この後、日本語の文字列をinsertしても文字化けしなくなった。

参考
MySQL5.1 – リファレンスマニュアル
http://ext.omo3.com/linux/mysql_character_set.html

pc

pc

-DB
-, , , ,

執筆者:

関連記事

no image

mackerel(マカレル)のプラグイン追加

Saas型のサーバの負荷、死活監視サービスのmackerel(以下、マカレル)の公式プラグインをインストール手順です。 追加したプラグインは、以下の点になります。 1.Apache 2.MySQL プ …

no image

MariaDBでデータの保存先の変更

背景 yumでインストールしたMariaDBでDBファイルの保存先を任意場所に変えるためにmy.cnfのdatadirの設定を 書いて、デーモンを再起動しても失敗しました。 調べて見るとyumでインス …

no image

DBからテーブル構造を作成する

既にあるDBからテーブル構造を抜き出す方法です。 利用するツール MySQLWorkBench 事前準備 対象のデータベースにアクセスできるアカウントを作成 必要に応じて、ファイヤウォール、SELin …

no image

TIMESTAMPのINSERTで変換エラー

TIMESTAMPを利用したカラムからデータをSELECTした時に “0000/00/00 00:00:00″のために変換できないというエラーが発生する。 これは、JDBCのコ …

no image

MySQLのパスワード変更

MySQLのrootのパスワード変更方法です。 2通りの方法があります。 【方法1:SQLで変更】 mysql> SET PASSWORD FOR root@localhost=PASSWORD(&# …

右上部広告