HEROJOON 블로그(히로블)

java.sql.SQLException: Incorrect string value: 에러 해결 본문

DB

java.sql.SQLException: Incorrect string value: 에러 해결

herojoon 2022. 3. 29. 21:09
반응형

1. 오류명

java.sql.SQLException: Incorrect string value:

 

2. 해결

insert 할 때 위와 같은 오류 발생하면 DB나 테이블, 컬럼의 인코딩 설정을 확인해야 합니다.

DB, Table, Column의 인코딩을 utf8mb4 - default collation으로 맞춰줍니다.

 

3. DB, Table, Column - 쿼리로 CharacterSet 변경하는 방법

1) DB CharacterSet 변경

# DB CharacterSet 변경
ALTER DATABASE DB명 DEFAULT CHARACTER SET utf8mb4;

ex) DB명이 testdb 일 때
ALTER DATABASE testdb DEFAULT CHARACTER SET utf8mb4;

 

2) Table CharacterSet 변경

# Table CharacterSet 변경
ALTER TABLE DB명.테이블명 DEFAULT CHARACTER SET utf8mb4;

ex) DB명이 testdb이고 테이블명이 user 일 때
ALTER TABLE testdb.user DEFAULT CHARACTER SET utf8mb4;

 

3) Column CharacterSet 변경

# Column CharacterSet 변경
ALTER TABLE DB명.테이블명 MODIFY 컬럼명 컬럼속성들 CHARACTER SET utf8mb4 컬럼속성들;

ex) DB명이 testdb이고 테이블명이 user이고 컬럼명이 name 일 때
ex) name컬럼명의 속성이 VARCHAR(45)이고 NULL허용 가능하다고 할 때
ALTER TABLE testdb.user MODIFY name VARCHAR(45) CHARACTER SET utf8mb4 NULL;

 

4) Table, Column 한번에 CharacterSet 변경

# Table, Column 한번에 CharacterSet 변경
ALTER TABLE DB명.테이블명 CONVERT TO CHARACTER SET utf8mb4;

ex) DB명이 testdb이고 테이블명이 user 일 때
ALTER TABLE testdb.user CONVERT TO CHARACTER SET utf8mb4;

 

4. DB, Table, Column - Workbench Tool에서 CharacterSet 변경하는 방법

1) DB CharacterSet 변경

Workbench에서 db 오른쪽 클릭 - Alter Schema 선택 

 

Charset/Collation에서 utf8mb4 선택 후 Apply로 저장

 

2) Table CharacterSet 변경

Workbench에서 table 오른쪽 클릭 - Alter Table 선택 

 

Charset/Collation에서 utf8mb4 선택 후 Apply로 저장

 

3) Column CharacterSet 변경

컬럼의 Charset/Collation에서 utf8mb4 선택 후 Apply로 저장

반응형
Comments