質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

UTF-8

UTF-8は8ビット符号単位の文字符号化形式及び文字符号化スキームです。データ交換方式、ファイル形式としては、一般的にUTF-8が使われる傾向があります。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Q&A

解決済

3回答

32511閲覧

mysqlで日本語を入力するとテーブル内で文字が表示されない

aaaaaaaa

総合スコア501

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

UTF-8

UTF-8は8ビット符号単位の文字符号化形式及び文字符号化スキームです。データ交換方式、ファイル形式としては、一般的にUTF-8が使われる傾向があります。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

0グッド

0クリップ

投稿2016/02/05 11:36

編集2018/03/30 09:22

mysql(5.6.16)を使用してデータベースの三つのカラムに英数字、日本語、数字を入力したのですが、select*from table;と呼び出してみると、真ん中の日本語の部分だけ表示されていません。
下記の画像のnamaカラム部分で、値には「佐藤」と入力しました。
http://up2.cache.kouploader.jp/koups16166.png

文字コード

mysql

1mysql> show variables like 'chara%'; 2+--------------------------+--------------------------------+ 3| Variable_name | Value | 4+--------------------------+--------------------------------+ 5| character_set_client | utf8 | 6| character_set_connection | utf8 | 7| character_set_database | utf8 | 8| character_set_filesystem | binary | 9| character_set_results | utf8 | 10| character_set_server | utf8 | 11| character_set_system | utf8 | 12| character_sets_dir | C:\xampp\mysql\share\charsets\ | 13+--------------------------+--------------------------------+ 14 15mysql> show create table tb1\g 16+-------+----------------------------------------------------------------------- 17-------------------------------------------------------------------------------- 18--------+ 19| Table | Create Table 20 21 | 22+-------+----------------------------------------------------------------------- 23-------------------------------------------------------------------------------- 24--------+ 25| tb1 | CREATE TABLE `tb1` ( 26 `bang` varchar(10) DEFAULT NULL, 27 `nama` varchar(10) DEFAULT NULL, 28 `tosi` int(11) DEFAULT NULL 29) ENGINE=InnoDB DEFAULT CHARSET=utf8 | 30+-------+----------------------------------------------------------------------- 31-------------------------------------------------------------------------------- 32--------+ 331 row in set (0.00 sec) 34 35mysql> status 36-------------- 37mysql Ver 14.14 Distrib 5.6.16, for Win32 (x86) 38 39Connection id: 1 40Current database: db1 41Current user: root@localhost 42SSL: Not in use 43Using delimiter: ; 44Server version: 5.6.16 MySQL Community Server (GPL) 45Protocol version: 10 46Connection: localhost via TCP/IP 47Server characterset: utf8 48Db characterset: utf8 49Client characterset: utf8 50Conn. characterset: utf8 51TCP port: 3306 52Uptime: 30 sec 53 54Threads: 1 Questions: 7 Slow queries: 0 Opens: 70 Flush tables: 1 Open tabl 55es: 63 Queries per second avg: 0.233 56--------------

ネットで調べてみると似た事例をいくつか見つけたのですが解決に至りませんでした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

issei.

2016/02/05 12:41

テーブルの文字コードも確認願います。 show create table tb1 \G;
aaaaaaaa

2016/02/08 05:02

ご返答有難うございます。加筆しました。
issei.

2016/02/09 02:19

情報ありがとうございます。テーブル定義は問題なさそうですね。あとはchinyatoさんの指摘通り、コンソールとして何を利用してDB見ているかがポイントです。DBデータの参照に利用されているのは、Windowsのコマンドプロンプト(cmd.exe)でしょうか?
aaaaaaaa

2016/02/09 03:02

はい、windows7で利用しているcmd.exeです。
guest

回答3

0

ベストアンサー

これじゃあ、表示されませんね。
他の方が書いているように、Windowsのコマンドラインは デフォルトでは cp932 なので、
以下のようにならないと表示できません。

shell

1Server characterset: utf8 2Db characterset: utf8 3Client characterset: cp932 4Conn. characterset: cp932

my.ini は以下のようにしないといけません。

my.ini

1[mysqld] 2character-set-server=utf8 3 4[mysql] 5default-character-set=cp932

skip-character-set-client-handshake は絶対に指定してはいけません。
多くのblogなどで、指定すると文字化けが直ったなど書かれてますが、大間違いです。

投稿2016/02/12 13:45

katsumiy

総合スコア479

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

xamppとのことなので、phpmyadminで、
データベースの「照合順序」を「utf8_general_ci」でデータベースを作成すれば、
Webブラウザ表示の文字化けは、大概、回避できると思うのですが。

投稿2017/03/09 22:27

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/03/09 22:48

なんで、こっちに書いちゃったんだろう?>自分、、、今だ、眠い、、、が、原因なんだろう。。。 失礼しました。
guest

0

「mysql コマンド 日本語 文字化け」あたりでググれば色々出てきます。
こちらではローカルにMySQL環境がないので試せないので想像での回答です。

コマンドラインの文字コードがCP932(Shift-JIS拡張)のようなので
mysql> set NAMES sjis;
とするか
chcp 65001
としてコマンドラインの文字コードをUTF-8にするなど試してみてはいかがでしょうか?

投稿2016/02/05 12:11

chinyato

総合スコア241

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

aaaaaaaa

2016/02/12 10:56

ご回答有難うございます。 コマンドラインの文字コード、は質問文中の「utf8」と表記されている部分とは違うのでしょうか。一応、文字コードを表示できるstatusにはutf8としか表示されていないのですが。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問