openfire mysql UTF-8编码在重新启动后失败
我正在使用jdbc连接openfire和mysql。在DB连接URL中设置characterEncoding=UTF-8后,一切正常,utf8数据可以成功写入DB。然而,每当openfire重新启动时,编码就不再工作,保存到DB中的所有内容都变成了“?” 我在谷歌上搜索了很多,但是我找到的所有东西(比如和)都是关于初始设置的教程,我已经成功了。我认为成功初始设置的关键是[1]在数据库中使用utf-8,[2]在JDBC连接中使用characterEncoding=utf-8。问题是它在openfire重新启动后失败,我找不到任何解决方案openfire mysql UTF-8编码在重新启动后失败,mysql,jdbc,utf-8,openfire,Mysql,Jdbc,Utf 8,Openfire,我正在使用jdbc连接openfire和mysql。在DB连接URL中设置characterEncoding=UTF-8后,一切正常,utf8数据可以成功写入DB。然而,每当openfire重新启动时,编码就不再工作,保存到DB中的所有内容都变成了“?” 我在谷歌上搜索了很多,但是我找到的所有东西(比如和)都是关于初始设置的教程,我已经成功了。我认为成功初始设置的关键是[1]在数据库中使用utf-8,[2]在JDBC连接中使用characterEncoding=utf-8。问题是它在openfi
如果有人对如何解决这个问题有任何想法,请帮助。我相信我不是唯一一个遭受这种痛苦的人 我自己找到了解决办法 原来这是openfire.xml中保存的serverURL上的转义问题。显然,&字符被转义两次,并导致错误的url:
<serverURL>jdbc:mysql://localhost:3306/avmcdb?rewriteBatchedStatements=true&amp;characterEncoding=UTF-8</serverURL>
jdbc:mysql://localhost:3306/avmcdb?rewriteBatchedStatements=true&;characterEncoding=UTF-8
应该是
<serverURL>jdbc:mysql://localhost:3306/avmcdb?rewriteBatchedStatements=true&characterEncoding=UTF-8</serverURL>
jdbc:mysql://localhost:3306/avmcdb?rewriteBatchedStatements=true&characterEncoding=UTF-8
修改此行并重新启动openfire后,一切正常