private static String url = "jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8";
在访问链接后加上字符编码后,可以执行成功并返回正确的结果。
具体情况是:我在本地编译程序,运行都没问题,但到服务器上虽然可以登录成功,但菜单加载不过来,mysql、jdk、tomcat重装配置了几遍不行,后来分析可以登录成功,肯定是菜单的action的问题,通过改对应的select语句后,确定到 isMenu='是' and isDelete='否'上,删除这两句可以查到正确结果,加上则不行;根据这个联想到之前用delphi调用mysql时乱码的情况,豁然开朗,就是编码问题。大功告成!
以下转载(两种配置连接字符串的方式):
在xml中
- <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/act_test3?useUnicode=true&characterEncoding=UTF-8" />
在java中
- String url = "jdbc:mysql://localhost:3306/act_test3?useUnicode=true&characterEncoding=UTF-8";
在xml中字符串需要转义,参照以上转义表