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

回答編集履歴

3

説明が間違っていたので修正

2020/01/23 13:28

投稿

alg
alg

スコア2019

answer CHANGED
@@ -1,9 +1,9 @@
1
1
  エラーメッセージによると、`'\xE5\xB1\xB1\xE7\x94\xB0...'` という文字列が `uname` 列には適切ではない、とあります。
2
2
  `'\xE5\xB1\xB1\xE7\x94\xB0...'` というのはおそらくUTF-8の"山田義弘"のことでしょう。
3
3
  (\xE5\xB1\xB1\xE7\x94\xB0 までならUTF-8で"山田"となりますので)
4
- つまり、`uname` 列がUTF-8を受け入れない形式(latin1)なのにも関わらず、UTF-8の文字列を入れようとしてエラーになっています。
4
+ つまり、`uname` 列(というか`usr` テーブル)がUTF-8を受け入れない形式(latin1)なのにも関わらず、UTF-8の文字列を入れようとしてエラーになっています。
5
5
 
6
- 対処としては、`uname` 列(というか`usr` テーブル)のcharsetを `utf8` にする必要があります。
6
+ 対処としては、`uname` 列のcharsetを `utf8` にする必要があります。
7
7
 
8
8
  ```sql
9
9
  ALTER TABLE usr MODIFY uname VARCHAR(20) CHARACTER SET utf8;

2

指摘事項を追加

2020/01/23 13:28

投稿

alg
alg

スコア2019

answer CHANGED
@@ -7,4 +7,16 @@
7
7
 
8
8
  ```sql
9
9
  ALTER TABLE usr MODIFY uname VARCHAR(20) CHARACTER SET utf8;
10
- ```
10
+ ```
11
+
12
+ ---
13
+
14
+ 以下は回答ではなく、質問文に対することです。
15
+
16
+ > DATABASEはbasicです
17
+
18
+ これはちょっとよくわかりませんでした。
19
+ (basicという名前のDBMSというものは存じ上げません)
20
+ エラーメッセージからすると、MySQLかMariaDBあたりだと思うのですが。
21
+
22
+ データベース関連の質問をする際は、DBMSが何か(Oracle、Microsoft SQL Server、MySQL、MariaDB、PostgreSQL、IBM Db2、など)を記載していただくと、回答が付きやすくなると思います。

1

alter tableを追加

2020/01/23 13:24

投稿

alg
alg

スコア2019

answer CHANGED
@@ -3,4 +3,8 @@
3
3
  (\xE5\xB1\xB1\xE7\x94\xB0 までならUTF-8で"山田"となりますので)
4
4
  つまり、`uname` 列がUTF-8を受け入れない形式(latin1)なのにも関わらず、UTF-8の文字列を入れようとしてエラーになっています。
5
5
 
6
- 対処としては、`uname` 列(というか`usr` テーブル)のcharsetを `utf8` にする必要があります。
6
+ 対処としては、`uname` 列(というか`usr` テーブル)のcharsetを `utf8` にする必要があります。
7
+
8
+ ```sql
9
+ ALTER TABLE usr MODIFY uname VARCHAR(20) CHARACTER SET utf8;
10
+ ```