上面代码是通过spring方式查询数据库判断用户名密码是否正确,但遇到一个问题就是当然参数值是中文的时候,即使数据库中有这个账号也查询不到,换成英文就可以。不知道什么原因。
下面是测试代码
下面是数据库
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
也许是编码问题,看看db的编码是什么?你用jdbcTemplate存一个中文的数据,然后看db里show出来的是否正确
mysql下执行show variables like 'character%'
查看字符编码,不是UTF-8的话修改mysql.cnf,Windows是mysql.ini
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8