2014-12-01 1 views
1

jdbc를 사용하여 mysqld와 openfire를 연결하고 있습니다. DB 연결 URL에 characterEncoding = UTF-8을 설정하면 모든 것이 잘 작동하고 utf8 데이터가 db에 성공적으로 기록 될 수 있습니다. 그러나 Openfire가 다시 시작될 때마다 인코딩이 더 이상 작동하지 않으며 DB에 저장된 모든 내용이 "???"가됩니다.openfire mysql 재시작 후 UTF-8 인코딩이 실패합니다.

나는 이것에 관해 많이 봤지만, 내가 발견 한 모든 것 (예 : thisthis)은 이미 초기 설정에 대한 자습서이며 이미 성공한 튜토리얼입니다. 성공적인 초기 설정의 핵심은 [1] db에서 utf-8을 사용하고 [2] JDBC 연결에서 characterEncoding = UTF-8을 사용하는 것입니다. 문제는 openfire를 다시 시작한 후에 실패하며 이에 대한 해결책을 찾지 못했습니다.

누구든지이 문제를 해결하는 방법에 대해 약간의 아이디어가 있으면 도움을 주시기 바랍니다. 나는 이것이 내가 고통받는 유일한 사람이 아니라고 믿는다.

답변

1

직접 해결책을 찾았습니다.

openfire.xml에 저장된 serverURL의 이스케이프 문제가 있음을 알 수 있습니다. 모든 것이 잘 작동

<serverURL>jdbc:mysql://localhost:3306/avmcdb?rewriteBatchedStatements=true&amp;amp;characterEncoding=UTF-8</serverURL> 

이 줄을 수정 한 후

<serverURL>jdbc:mysql://localhost:3306/avmcdb?rewriteBatchedStatements=true&amp;characterEncoding=UTF-8</serverURL> 

을하고의 Openfire를 다시 시작해야합니다 : 분명히 & 문자를 두 번 탈출 잘못된 URL을 야기한다.

관련 문제