mysql 日本語のデータ入力(win クライアントから)
先のCakePHPのチュートリアルをすすめる中
mysqlデータベースに日本語データを登録するサンプル。
いままでサンプリングを進めるのに気を取られ、
ASCIIデータのみで初突猛進していたが、入力方法を調べてみた。
(win XPクライアントからの入力)
1.database(table)のdefault charactersetをutf8に設定。
my.iniで
[mysqld]
default-character-set=utf8
または、create table文で
CREATE TABLE posts (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(50),
body TEXT,
created DATETIME DEFAULT NULL,
modified DATETIME DEFAULT NULL
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
2.mysqlのcharacter設定。
mysql> SET character_set_client = sjis;
mysql> SET character_set_connection = utf8;
mysql> SET character_set_results = sjis;
character設定を確認し、以下の結果が得られれば
windows コマンドプロンプトから普通にinsert文発行で可能。
mysql> show variables like '%char%';
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Variable_name | Value |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
character_set_client | sjis |
character_set_connection | utf8 |
character_set_database | utf8 |
character_set_results | sjis |
character_set_server | utf8 |
character_set_system | utf8 |
character_sets_dir | C:\MySQL\MySQL Server4.1\share\charsets/ |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-