자바/리팩토링
[리팩토링]Spring boot 2.7 에서 schema.sql 한글 깨짐
OverTheHorizon3410
2023. 10. 7. 22:12
현재 버전
- Java 11
- Spring Boot 2.7.x
schema.sql
-- 테이블 생성 SQL - SHOPPING_CART
CREATE TABLE SHOPPING_CART
(
`ID` BIGINT NOT NULL AUTO_INCREMENT COMMENT 'pk값',
`USER_ID` VARCHAR(200) NULL COMMENT '유저ID',
`PRODUCT_ID` BIGINT NULL COMMENT '상품ID',
`QUANTITY` INT NULL COMMENT '장바구니 상품 수량',
`CREATED_DATE` TIMESTAMP NULL COMMENT '생성일',
`UPDATED_DATE` TIMESTAMP NULL COMMENT '수정일',
PRIMARY KEY (ID)
);
- DB에 입력
-- auto-generated definition
create table SHOPPING_CART
(
ID BIGINT auto_increment comment 'pk?'
primary key,
USER_ID VARCHAR(200) null comment '??ID',
PRODUCT_ID BIGINT null comment '??ID',
QUANTITY INT null comment '???? ?? ??',
CREATED_DATE TIMESTAMP null comment '???',
UPDATED_DATE TIMESTAMP null comment '???'
)
comment '????';
- 엥 DDL로 보게된다면 한글이 전부 깨지게 된다.
해결방법
- 스프링 부트 설정:
application.properties
또는application.yml
파일에서 다음과 같이 문자열 인코딩을 명시적으로 설정할 수 있다.
spring.datasource.url=jdbc:mysql://localhost:3306/your_db?useUnicode=true&characterEncoding=UTF-8
- SQL 스크립트의 인코딩 설정:
- 스프링 부트 2.5 이상에서는
spring.sql.init.encoding
사용으로 schema.sql 과 data.sql 의 인코딩을 모두 설정할 수 있다.
spring.sql.init.encoding=UTF-8
- 스프링 부트 2.5 이상에서는
Uploaded by N2T