Database/Mysql

[JDBC] mysql 연결할때 다른 인코딩으로 보내기

펌킨고구마 2022. 1. 15. 21:40
728x90
반응형

나 같은 경우에는 db 내의 인코딩이 latin1 로 되어있다보니

db에 직접 접속하여 쿼리를 날렸을때에는 오류가 없었으나, jdbc를 통해 날린 쿼리에서는 값이 안나오는 상황이였다.

 

jdbc 연결하는 url에 characterEncoding 을 추가함

 

jdbc:mysql://localhost:3306/testdb?useUnicode=true&characterEncoding=latin1

이렇게 하고 실행하려고 했더니 톰캣 실행중 오류가 남

 

로그에오류 내용을 찾아보니 

The reference to entity "characterEncoding" must end with the ';' delimiter.


라고 뜨는데, 해당 오류는 & 을 인식ㅇ하지 못해서 나는 오류로, 

 

& -> & 

ex) jdbc:mysql://localhost:3306/testdb?useUnicode=true&characterEncoding=latin1

 

로 변경하였더니 서버가 잘 올라가고 인코딩도 문제없이 해결되었다.

 

하지만 latin1보다는 utf8이 더 심적으로 안정이 되기 때문에.... db 인코딩 자체를 바꿔야겠다.

 

[MariaDB] DEFAULT CHARACTER SET 변경하기(latin1->utf8mb4)

 

[MariaDB] DEFAULT CHARACTER SET 변경하기(latin1->utf8mb4)

CentOS7에 설치한 마리아디비 5.5 버전의 들어가서, status 를 입력한 결과 아래와 같이 latin1이 나왔다. 혹시나 다른 상태 확인으로 해보았지만 여전했다. show variables like 'c%'; /etc/my.cnf 파일 안에..

pkguma.tistory.com

 

728x90
반응형
LIST