LoginSignup
3
5

More than 5 years have passed since last update.

Mysql - 日本語が表示されない問題を解決。

Posted at

ウエブプログラミングやデザインを勉強しましたが、日本語のウエブサイトを作ったことがありません。

触ると、いっぱい問題が発生。。。

Mysqlで日本語が表示されない問題。

使っているテスト環境:

■ Xampp (Apache OSS)

■ Mysql だけを使います。(5.5.27)

※ Mysql の設定ファイルに関わらず、日本語が表示されます。

日本語が表示されるのに、「データベース」または「テーブル」のCHARACTER SET(キャラクターセット)は sjis または utf8 です。

1.最初から始まりデータベースを作る場合は:

手順:

データベースを作るとき、必ず「character set <キャラクターセット名>」 を追加。

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
    [create_specification] ...

create_specification:
    [DEFAULT] CHARACTER SET [=] charset_name
  | [DEFAULT] COLLATE [=] collation_name

例:

CREATE DATABASE user CHARACTER SET sjis; 

CREATE DATABASE user CHARACTER SET utf8;

■「CHARACTER SET NAME」はテーブルに作成されておきます。

見たいなら:

show character set;

 2.途中に直す場合:

挿入して起きたデータは変わりません。表示されないデーターはそのまま、表示されない、CHARACTER SET を変更しても。。。

 ※データベースなら:

ALTER {DATABASE | SCHEMA} [db_name]
    alter_specification ...

alter_specification:
    [DEFAULT] CHARACTER SET [=] charset_name
  | [DEFAULT] COLLATE [=] collation_name

 例:

ALTER DATABASE user CHARACTER SET utf8;

ALTER DATABASE user CHARACTER SET sjis;

※テーブルなら:

ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name
| CONVERT TO CHARACTER SET charset_name [COLLATE collation_name]
| [DEFAULT] CHARACTER SET [=] charset_name [COLLATE [=] collation_name]

 

例:

ALTER TABLE user CONVERT TO CHARACTER SET sjis;

又は:

ALTER TABLE user CHARACTER SET sjis;

※注意:

もし、プログラミングしたら、このクエリーを必ず最初に送信すれば、大丈夫。

set names <キャラクターセット名>;

 ※便利なコマンド:

作成したデータベース、テーブルのキャラクターセット情報を見たいときは、このコマンドを実行しよう。

SHOW CREATE TABLE <テーブル名>;
SHOW CREATE DATABASE <データベース名>;

 

3
5
0

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
3
5