반응형
Spring boot - Maria + JPA
문제
HeidiSQL 프로그램을 사용하여, Maria 데이터베이스만 생성하고 SpringBoot에서 Entity로 테이블이 자동으로 생성되었는데, 문제는 save() 호출 시 maria DB로 insert 가 안되는 문제
Incorrect string value: '\xEC\x95\x88\x85\x95....' for column ~
원인은 인코딩
(영어는 가능. 한글 불가)
이 문제 해결을 위해, 인코딩 설정을 여러차례 바꿔줬다.
시도1
application.properties
spring.datasource.hikari.jdbc-url=jdbc:mariadb://localhost:3306/community
url 뒤에 인코딩을 utf-8로 설정하겠다는 내용을 아무리 적고 insert를 시도해도, 프로퍼티 설정으론 해결안됨
참고로, HeidiSQL에서 테이블 옵션 들어가보면 조합 기본값이 latin1_swedish_ci 으로 설정되어 있다. → 한글 적재 불가
해결
spring boot 설정으로는 결국 못 찾고, DB 자체의 인코딩 설정을 바꾸는 방법으로 해결
HeidiSQL 에서 아래 쿼리문 수행
ALTER TABLE {테이블명} convert to charset utf8;
HeidiSQL에서 테이블 옵션 들어가보면 조합 utf8mb3_general_ci 으로 변경되어있음
결과. insert 성공
문제는 SpringBoot에서 Table을 생성할때마다 ALTER를 사용해서 인코딩설정을 변경해줘야한다는 불편한 점이...
SpringBoot에서 생성할때부터 인코딩 못바꾸나 ...ㅠㅠ
728x90
반응형
'개발아닌개발 > springboot' 카테고리의 다른 글
[thymeleaf] 문자열 비교 조건문 (th:if, th:text) (0) | 2023.07.31 |
---|---|
[오류] html에서 thymeleaf sec:authorize 동작 안됨 (0) | 2023.06.22 |
라디오 설정값 가져와서 Class 속성 추가하기 (0) | 2022.01.12 |
타임리프(thymeleaf) 라디오 버튼의 초기값 설정하기 (0) | 2022.01.12 |
Autowired 안 될때 Bean 주입받아 해결하기(autowired Class is null 문제해결) (0) | 2022.01.10 |
댓글