質問編集履歴

2

入力漏れを修正しました

2021/06/29 05:55

投稿

hattositegoo
hattositegoo

スコア2

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

1

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

2021/06/29 05:55

投稿

hattositegoo
hattositegoo

スコア2

test CHANGED
File without changes
test CHANGED
@@ -69,3 +69,149 @@
69
69
 
70
70
 
71
71
  ここにより詳細な情報を記載してください。
72
+
73
+
74
+
75
+
76
+
77
+ ### 前提・実現したいこと
78
+
79
+ コマンドプロンプト上でMySQLを操作すると、日本語入力した部分が文字化けするか、入力自体を受け付けません。これを解決するには、どこを変更すれば良いのでしょうか?
80
+
81
+ ### 発生している問題・エラーメッセージ
82
+
83
+
84
+
85
+ ■MySQL(MariaDB)の書式
86
+
87
+ MariaDB [(none)]> show variables like '%char%';
88
+
89
+ +--------------------------+--------------------------------+
90
+
91
+ | Variable_name | Value |
92
+
93
+ +--------------------------+--------------------------------+
94
+
95
+ | character_set_client | utf8 |
96
+
97
+ | character_set_connection | utf8 |
98
+
99
+ | character_set_database | utf8 |
100
+
101
+ | character_set_filesystem | binary |
102
+
103
+ | character_set_results | utf8 |
104
+
105
+ | character_set_server | utf8 |
106
+
107
+ | character_set_system | utf8 |
108
+
109
+ | character_sets_dir | C:\xampp\mysql\share\charsets\ |
110
+
111
+ +--------------------------+--------------------------------+
112
+
113
+
114
+
115
+ ■コマンドプロンプトの書式
116
+
117
+ chcp → 現在のコードページ : 932
118
+
119
+
120
+
121
+ この状態で既存のデータを表示すると、日本語部分(2行目・name)が文字化けします。
122
+
123
+ MariaDB [shop_items]> SELECT * FROM items;
124
+
125
+ +----+-----------+-------+-------+
126
+
127
+ | no | name | price | stock |
128
+
129
+ +----+-----------+-------+-------+
130
+
131
+ | 1 | orange | 150 | 30 |
132
+
133
+ | 2 | 繝ャ繝「繝ウ | 100 | 15 |
134
+
135
+ +----+-----------+-------+-------+
136
+
137
+
138
+
139
+ ちなみに構造は以下の通り。
140
+
141
+ MariaDB [shop_items]> describe items;
142
+
143
+ +-------+-------------+------+-----+---------+----------------+
144
+
145
+ | Field | Type | Null | Key | Default | Extra |
146
+
147
+ +-------+-------------+------+-----+---------+----------------+
148
+
149
+ | no | int(11) | NO | PRI | NULL | auto_increment |
150
+
151
+ | name | varchar(10) | YES | | NULL | |
152
+
153
+ | price | int(11) | YES | | NULL | |
154
+
155
+ | stock | int(11) | YES | | NULL | |
156
+
157
+ +-------+-------------+------+-----+---------+----------------+
158
+
159
+
160
+
161
+ また、新たにレコードを追加しようとすると、以下の通りエラーとなります。
162
+
163
+
164
+
165
+ ```
166
+
167
+ エラーメッセージ
168
+
169
+ MariaDB [shop_items]> INSERT INTO items(name,price,stock) VALUES ('メロン',500,20);
170
+
171
+ ERROR 1366 (22007): Incorrect string value: '\x83\x81\x83\x8D\x83\x93' for column `shop_items`.`items`.`name` at row 1
172
+
173
+ MariaDB [shop_items]>
174
+
175
+
176
+
177
+ ```
178
+
179
+ ### 試したこと
180
+
181
+ chcp 65001
182
+
183
+ 上記により、コードページを「utf-8」にすると、既存の日本語部分は正しく表示されるものの、新たに入力した日本語は、文字化けします(入力エラーにはなりません)。
184
+
185
+
186
+
187
+ MariaDB [shop_items]> insert into items(name,price,stock) values ('メロン',300,10);
188
+
189
+ Query OK, 1 row affected (0.011 sec)
190
+
191
+
192
+
193
+ MariaDB [shop_items]> select * from items;
194
+
195
+ +----+-----------+-------+-------+
196
+
197
+ | no | name | price | stock |
198
+
199
+ +----+-----------+-------+-------+
200
+
201
+ | 1 | orange | 150 | 30 |
202
+
203
+ | 2 | レモン | 100 | 15 |
204
+
205
+ | 3 | PPP | 300 | 10 |
206
+
207
+ +----+-----------+-------+-------+
208
+
209
+
210
+
211
+ この設定も一時的なもので、改めてMySQLを立ち上げると、文字のコードページは「932」に戻ってしまいます。
212
+
213
+
214
+
215
+ ### 補足情報(FW/ツールのバージョンなど)
216
+
217
+ MySQL Server 5.7