[JDBC] mysql 연결할때 다른 인코딩으로 보내기
나 같은 경우에는 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