質問するログイン新規登録

質問編集履歴

2

入力漏れを修正しました

2021/06/29 05:55

投稿

hattositegoo
hattositegoo

スコア2

title CHANGED
File without changes
body CHANGED
@@ -1,45 +1,6 @@
1
1
  ### 前提・実現したいこと
2
- コマンドプロンプト上でMySQLを操作すると、日本語入力した部分が文字化けします。これを解決するには、。
3
- ### 発生している問題・エラーメッセージ
4
-
5
-
6
- MariaDB [(none)]> show variables like '%char%';
7
- +--------------------------+--------------------------------+
8
- | Variable_name | Value |
9
- +--------------------------+--------------------------------+
10
- | character_set_client | utf8 |
11
- | character_set_connection | utf8 |
12
- | character_set_database | utf8 |
13
- | character_set_filesystem | binary |
14
- | character_set_results | utf8 |
15
- | character_set_server | utf8 |
16
- | character_set_system | utf8 |
17
- | character_sets_dir | C:\xampp\mysql\share\charsets\ |
18
- +--------------------------+--------------------------------+
19
- 8 rows in set (0.001 sec)
20
- ```
21
- エラーメッセージ
22
- ```
23
-
24
- ### 該当のソースコード
25
-
26
- ```ここに言語名を入力
27
- ソースコード
28
- ```
29
-
30
- ### 試したこと
31
-
32
- ここに問題に対して試したことを記載してください。
33
-
34
- ### 補足情報(FW/ツールのバージョンなど)
35
-
36
- ここにより詳細な情報を記載してください。
37
-
38
-
39
- ### 前提・実現したいこと
40
2
  コマンドプロンプト上でMySQLを操作すると、日本語入力した部分が文字化けするか、入力自体を受け付けません。これを解決するには、どこを変更すれば良いのでしょうか?
41
3
  ### 発生している問題・エラーメッセージ
42
-
43
4
  ■MySQL(MariaDB)の書式
44
5
  MariaDB [(none)]> show variables like '%char%';
45
6
  +--------------------------+--------------------------------+

1

テンプレートを追加しました

2021/06/29 05:55

投稿

hattositegoo
hattositegoo

スコア2

title CHANGED
File without changes
body CHANGED
@@ -33,4 +33,77 @@
33
33
 
34
34
  ### 補足情報(FW/ツールのバージョンなど)
35
35
 
36
- ここにより詳細な情報を記載してください。
36
+ ここにより詳細な情報を記載してください。
37
+
38
+
39
+ ### 前提・実現したいこと
40
+ コマンドプロンプト上でMySQLを操作すると、日本語入力した部分が文字化けするか、入力自体を受け付けません。これを解決するには、どこを変更すれば良いのでしょうか?
41
+ ### 発生している問題・エラーメッセージ
42
+
43
+ ■MySQL(MariaDB)の書式
44
+ MariaDB [(none)]> show variables like '%char%';
45
+ +--------------------------+--------------------------------+
46
+ | Variable_name | Value |
47
+ +--------------------------+--------------------------------+
48
+ | character_set_client | utf8 |
49
+ | character_set_connection | utf8 |
50
+ | character_set_database | utf8 |
51
+ | character_set_filesystem | binary |
52
+ | character_set_results | utf8 |
53
+ | character_set_server | utf8 |
54
+ | character_set_system | utf8 |
55
+ | character_sets_dir | C:\xampp\mysql\share\charsets\ |
56
+ +--------------------------+--------------------------------+
57
+
58
+ ■コマンドプロンプトの書式
59
+ chcp → 現在のコードページ : 932
60
+
61
+ この状態で既存のデータを表示すると、日本語部分(2行目・name)が文字化けします。
62
+ MariaDB [shop_items]> SELECT * FROM items;
63
+ +----+-----------+-------+-------+
64
+ | no | name | price | stock |
65
+ +----+-----------+-------+-------+
66
+ | 1 | orange | 150 | 30 |
67
+ | 2 | 繝ャ繝「繝ウ | 100 | 15 |
68
+ +----+-----------+-------+-------+
69
+
70
+ ちなみに構造は以下の通り。
71
+ MariaDB [shop_items]> describe items;
72
+ +-------+-------------+------+-----+---------+----------------+
73
+ | Field | Type | Null | Key | Default | Extra |
74
+ +-------+-------------+------+-----+---------+----------------+
75
+ | no | int(11) | NO | PRI | NULL | auto_increment |
76
+ | name | varchar(10) | YES | | NULL | |
77
+ | price | int(11) | YES | | NULL | |
78
+ | stock | int(11) | YES | | NULL | |
79
+ +-------+-------------+------+-----+---------+----------------+
80
+
81
+ また、新たにレコードを追加しようとすると、以下の通りエラーとなります。
82
+
83
+ ```
84
+ エラーメッセージ
85
+ MariaDB [shop_items]> INSERT INTO items(name,price,stock) VALUES ('メロン',500,20);
86
+ ERROR 1366 (22007): Incorrect string value: '\x83\x81\x83\x8D\x83\x93' for column `shop_items`.`items`.`name` at row 1
87
+ MariaDB [shop_items]>
88
+
89
+ ```
90
+ ### 試したこと
91
+ chcp 65001
92
+ 上記により、コードページを「utf-8」にすると、既存の日本語部分は正しく表示されるものの、新たに入力した日本語は、文字化けします(入力エラーにはなりません)。
93
+
94
+ MariaDB [shop_items]> insert into items(name,price,stock) values ('メロン',300,10);
95
+ Query OK, 1 row affected (0.011 sec)
96
+
97
+ MariaDB [shop_items]> select * from items;
98
+ +----+-----------+-------+-------+
99
+ | no | name | price | stock |
100
+ +----+-----------+-------+-------+
101
+ | 1 | orange | 150 | 30 |
102
+ | 2 | レモン | 100 | 15 |
103
+ | 3 | PPP | 300 | 10 |
104
+ +----+-----------+-------+-------+
105
+
106
+ この設定も一時的なもので、改めてMySQLを立ち上げると、文字のコードページは「932」に戻ってしまいます。
107
+
108
+ ### 補足情報(FW/ツールのバージョンなど)
109
+ MySQL Server 5.7