質問編集履歴
5
誤字の訂正
test
CHANGED
File without changes
|
test
CHANGED
@@ -34,7 +34,7 @@
|
|
34
34
|
次にバージョンを`SELECT VERSION();`で確認すると
|
35
35
|
【SQL Fiddle】5.6.48
|
36
36
|
【DB Fiddle】5.7.38
|
37
|
-
でしたが、5.
|
37
|
+
でしたが、5.7.38で日本語がエラーになるという情報は見つけられませんでした。
|
38
38
|
|
39
39
|
最後にエラーを検索しこちらの記事を拝読致しましたら、DBの文字コードに原因があるようで、
|
40
40
|
[【MySQL】INSERT INTOで「Incorrect string value」エラーが表示された時の解決方法](https://dev83.com/mysql-insertinto-error/)
|
4
誤字の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -39,14 +39,14 @@
|
|
39
39
|
最後にエラーを検索しこちらの記事を拝読致しましたら、DBの文字コードに原因があるようで、
|
40
40
|
[【MySQL】INSERT INTOで「Incorrect string value」エラーが表示された時の解決方法](https://dev83.com/mysql-insertinto-error/)
|
41
41
|
|
42
|
-
いわく、次の項目
|
42
|
+
いわく、次の4つの項目が「utf8mb4」でないときに起こるエラーとのこと。
|
43
43
|
character_set_client
|
44
44
|
character_set_connection
|
45
45
|
character_set_results
|
46
46
|
character_set_server
|
47
47
|
|
48
48
|
そこで文字コードを確認するために`SHOW VARIABLES LIKE 'chara%';`を実行しましたが、
|
49
|
-
なぜか、エラーのない【SQL Fiddle】の方で
|
49
|
+
なぜか、エラーのない【SQL Fiddle】の方で4つの項目が「utf8mb4」になっていません。
|
50
50
|
そして、エラーのある【DB Fiddle】の方では「character_set_server」の項目だけ「latin1」でした。
|
51
51
|
|
52
52
|
以上のように私の知識と調査ではエラーの原因がいまいち把握できないでおります。
|
3
内容の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,2 +1,57 @@
|
|
1
|
+
### 前提
|
2
|
+
MySQL実行ツールの利用にあたって、日本語入力時に「Incorrect string value」エラーになりました。
|
3
|
+
|
4
|
+
### 実現したいこと
|
5
|
+
エラーになる原因を知りたいです。
|
6
|
+
|
7
|
+
### 発生している問題・エラーメッセージ
|
8
|
+
```
|
9
|
+
Schema Error: Error: ER_TRUNCATED_WRONG_VALUE_FOR_FIELD: Incorrect string value: '\xE6\x96\xB0\xE5\xB9\xB4' for column 'name' at row 1
|
10
|
+
```
|
11
|
+
|
12
|
+
### 該当のソースコード
|
13
|
+
MySQL実行ツールとして以下2つを利用しています。
|
14
|
+
【SQL Fiddle】http://sqlfiddle.com/
|
15
|
+
【DB Fiddle】https://www.db-fiddle.com/
|
16
|
+
|
17
|
+
いずれにも以下SQLを実行すると【DB Fiddle】の方は冒頭のエラーとなります。
|
18
|
+
【SQL Fiddle】http://sqlfiddle.com/#!9/8ec464
|
19
|
+
【DB Fiddle】https://www.db-fiddle.com/f/ae1H6YrPVCYvmUeets46it/0
|
20
|
+
```SQL
|
21
|
+
CREATE TABLE test1 (`name` VARCHAR(10) );
|
22
|
+
INSERT INTO test1 (`name`) VALUES('新年');
|
23
|
+
```
|
24
|
+
|
25
|
+
### 試したこと
|
26
|
+
日本語を使わないこと、バージョン確認、文字コード確認を試みました。
|
27
|
+
|
28
|
+
まずSQLを以下にすると【DB Fiddle】でエラーはなく、日本語に原因があるとわかります。
|
29
|
+
```SQL
|
30
|
+
CREATE TABLE test1 (`name` VARCHAR(10) );
|
31
|
+
INSERT INTO test1 (`name`) VALUES('new year'); # 日本を使わなければエラーなし
|
32
|
+
```
|
33
|
+
|
34
|
+
次にバージョンを`SELECT VERSION();`で確認すると
|
35
|
+
【SQL Fiddle】5.6.48
|
36
|
+
【DB Fiddle】5.7.38
|
37
|
+
でしたが、5.6.48で日本語がエラーになるという情報は見つけられませんでした。
|
38
|
+
|
39
|
+
最後にエラーを検索しこちらの記事を拝読致しましたら、DBの文字コードに原因があるようで、
|
40
|
+
[【MySQL】INSERT INTOで「Incorrect string value」エラーが表示された時の解決方法](https://dev83.com/mysql-insertinto-error/)
|
41
|
+
|
42
|
+
いわく、次の項目を「utf8mb4」でないときに起こるエラーとのこと。
|
43
|
+
character_set_client
|
44
|
+
character_set_connection
|
45
|
+
character_set_results
|
46
|
+
character_set_server
|
47
|
+
|
48
|
+
そこで文字コードを確認するために`SHOW VARIABLES LIKE 'chara%';`を実行しましたが、
|
49
|
+
なぜか、エラーのない【SQL Fiddle】の方でむしろ4つの項目が「utf8mb4」になっていません。
|
50
|
+
そして、エラーのある【DB Fiddle】の方では「character_set_server」の項目だけ「latin1」でした。
|
51
|
+
|
52
|
+
以上のように私の知識と調査ではエラーの原因がいまいち把握できないでおります。
|
53
|
+
どうして【DB Fiddle】ではエラーとなるのか、原因が推測できる方がいらっしゃいましたら宜しくお願い致します。
|
54
|
+
|
55
|
+
### 補足情報(FW/ツールのバージョンなど)
|
1
|
-
|
56
|
+
バージョンは記載した通りで、補足情報は現状特にございません。
|
2
|
-
|
57
|
+
|
2
大きな誤りがあったため編集中です
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,48 +1,2 @@
|
|
1
|
-
### 前提
|
2
|
-
MySQL実行ツールの利用にあたって、日本語入力時に「Incorrect string value」エラーになりました。
|
3
|
-
|
4
|
-
### 実現したいこと
|
5
|
-
エラーになる原因を知りたいです。
|
6
|
-
|
7
|
-
### 発生している問題・エラーメッセージ
|
8
|
-
```
|
9
|
-
Schema Error: Error: ER_TRUNCATED_WRONG_VALUE_FOR_FIELD: Incorrect string value: '\xE6\x96\xB0\xE5\xB9\xB4' for column 'name' at row 1
|
10
|
-
```
|
11
|
-
|
12
|
-
### 該当のソースコード
|
13
|
-
MySQL実行ツールとして以下2つを利用しています。
|
14
|
-
【SQL Fiddle】http://sqlfiddle.com/
|
15
|
-
【DB Fiddle】https://www.db-fiddle.com/
|
16
|
-
|
17
|
-
いずれにも以下SQLを実行すると【SQL Fiddle】の方は冒頭のエラーとなります。
|
18
|
-
```SQL
|
19
|
-
CREATE TABLE test1 (`name` VARCHAR(10) );
|
20
|
-
INSERT INTO test1 (`name`) VALUES('新年');
|
21
|
-
```
|
22
|
-
|
23
|
-
### 試したこと
|
24
|
-
バージョンと文字コードの確認を試みました。
|
25
|
-
|
26
|
-
まずバージョンは`SELECT VERSION();`で確認し、
|
27
|
-
【SQL Fiddle】5.6.48
|
28
|
-
【DB Fiddle】5.7.38
|
29
|
-
でしたが、5.6.48で日本語エラーになるという情報は見つけられませんでした。
|
30
|
-
|
31
|
-
次にエラーを検索しこちらの記事を拝読致しましたら、DBの文字コードに原因があるようで、
|
32
|
-
[【MySQL】INSERT INTOで「Incorrect string value」エラーが表示された時の解決方法](https://dev83.com/mysql-insertinto-error/)
|
33
|
-
|
34
|
-
|
1
|
+
内容に大きな誤りがあったためこちらの質問は現在編集中です
|
35
|
-
|
2
|
+
10分ほどお待ちください
|
36
|
-
character_set_connection
|
37
|
-
character_set_results
|
38
|
-
character_set_server
|
39
|
-
|
40
|
-
そこで文字コードを確認するために`SHOW VARIABLES LIKE 'chara%';`を実行しましたが、
|
41
|
-
なぜか、エラーのない【DB Fiddle】の方でむしろ4つの項目が「utf8mb4」になっていません。
|
42
|
-
そして、エラーのある【SQL Fiddle】の方で「character_set_server」の項目だけ「latin1」でした。
|
43
|
-
|
44
|
-
以上のようにバージョンと文字コードを見た限りでは、私の知識と調査ではエラーの原因がいまいち把握できないでおります。
|
45
|
-
|
46
|
-
### 補足情報(FW/ツールのバージョンなど)
|
47
|
-
バージョンは記載した通りで、補足情報は現状特にございません。
|
48
|
-
|
1
誤字を訂正
test
CHANGED
File without changes
|
test
CHANGED
@@ -17,7 +17,7 @@
|
|
17
17
|
いずれにも以下SQLを実行すると【SQL Fiddle】の方は冒頭のエラーとなります。
|
18
18
|
```SQL
|
19
19
|
CREATE TABLE test1 (`name` VARCHAR(10) );
|
20
|
-
INSERT INTO test1 (`name`) VALUES('
|
20
|
+
INSERT INTO test1 (`name`) VALUES('新年');
|
21
21
|
```
|
22
22
|
|
23
23
|
### 試したこと
|