62
52

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【備忘録】MySQL始めてデータベースに日本語いれようとしたらハマった

Posted at

これ、たぶん既にすげー数の人がハマった問題だと思うんです、そしてQiita上にも大量に情報があると思いますが、念のため、メモ。

my.conf(my.ini)の設定をいじる

MySQLの入れ方(Macports/Homebrew/純正)によってこやつの場所は結構かわるかもしれません。 んで、このmy.confに次の項目を追加してください。(自分は/usr/local/mysql/に居ました)
my.conf
[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqldump]
default-character-set=utf8

[mysqld]
character-set-server=utf8
#if you use mysql<5.5 use this
#default-character-set=utf8

ポイントは、mysqldだけdefault-character-setではない

てことです。

character-set-server=utf8

です。気をつけましょう。

さて、これで一度mysql.serverをrestartしていただきましたら、mysqlを立ち上げて

mysql>status

と打ってみましょう。

Server characterset:	utf8
Db     characterset:	utf8
Client characterset:	utf8
Conn.  characterset:	utf8

ってなれいればおk!

さて、ここで問題。
あらかじめ作っておいたDBに以下のSQLを実行したらどうなりましょう。

INSERT INTO table1 
set title = "おっぱい"
,created = now();

Incorrect String ...

とでました。確かにおっぱいは不適切かもしれませんが...

ちょっとまてよcharsetがlatin1(デフォルト)の状態で作ったDBだから日本語だめなんじゃ....

とおもってもう一度DBをDropしたあと、もういちどつくりなおしたらとおりました。
御気をつけて!

62
52
1

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
62
52

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?