第一次使用mysql结合struts2和spring开发,接二连三碰到中文乱码和数据库查询异常问题,非常麻烦。
理想下整个过程全部使用utf-8,中间不用转换编码。
首先,mysql数据库字符集全部设成utf-8,没有问题。
然后,struts.xml配置文件中加入
jsp页面加入
spring数据源配置(注意url)
一开始我url后面没有加编码,导致出现了一个诡异的问题:使用spring的jdbctemplate执行不带中文的sql语句没有问题,执行带中文的sql语句查不到数据,而将这条sql语句直接在数据库中执行却也完全没问题。
另外保险起见在web.xml中再加个经典的字符编码过滤器
最后tomcat中server.xml也要配置(URIEncoding="UTF-8"是添加上去的)。
搞定!