### Cause: java.sql.SQLSyntaxErrorException: (conn=23478) Incorrect string value: '\xEC\xA0\x9C\xEB\xAA\xA9...' for column bbs.post.title at row 1 ; bad SQL grammar []] with root cause
❓ 원인
SQLSyntaxErrorException: Incorrect string value 에러는 문자 인코딩 문제 때문에 발생!!
즉, title 컬럼에 한글(또는 특수 문자)이 제대로 저장되지 않는 문제다.
🛠 해결 방법
📌 1. 인코딩 확인
✅ 서버 전체 기본 인코딩 확인
SHOW VARIABLES LIKE 'character%';
✅ 데이터베이스 인코딩 확인
SELECT schema_name, default_character_set_name, default_collation_name
FROM information_schema.schemata
WHERE schema_name = bbs;

✅ 모든 테이블 인코딩 확인
SELECT TABLE_NAME, TABLE_COLLATION
FROM information_schema.tables
WHERE TABLE_SCHEMA = 'bbs';

➡️ 만약 latin1로 되어 있다면, 한글이 깨질 수 있으니 utf8mb4로 변경
잘못된 예:

📌 2. 인코딩을 utf8mb4로 변경하기
✅ 컬럼만 변경
ALTER TABLE {table Name} MODIFY COLUMN {column Name} VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
✅ 테이블 전체 변경 (모든 문자열 컬럼 포함)
ALTER TABLE {table Name} CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
✅ 데이터베이스 전체 변경
ALTER DATABASE {DB Name} CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

'DB > RDBMS' 카테고리의 다른 글
| 조회 속도 개선 (쿼리최적화) (0) | 2025.04.06 |
|---|---|
| [MariaDB] 외래키 생성/삭제 방법 (0) | 2024.11.30 |
| 쿼리 실행 속도 확인 (0) | 2024.05.30 |
| 서브 쿼리 ORDER BY (0) | 2023.10.23 |
| [MariaDB] RECURSIVE 계층 메뉴 구성 (0) | 2023.08.14 |