Spring查询MySQL中的中文用户名查不到

大河向东流啊 发布于 2017/03/09 08:23
阅读 296
收藏 0

最近用SSH实现注册功能时,需要判断是否用户名重复,当我输入英文或数字文用户名是可以判断用户名是否可用,但是当我输入中文时,始终是用户名可用,即使MySQL数据库里面有该用户名还是提示用户名可用,我已经改了编码格式,都是utf-8格式的,包括数据库也是utf-8,并且加上了过滤器,在数据库中用查询语句可以查出那条数据,但是在MyEclipse里面却始终是null。求大神 指点,不胜感激。

加载中
1
蓝风970655147
蓝风970655147
jdbc:mysql://$ip:$port/$db?useUnicode=true&characterEncoding=UTF8&

试试呢

大河向东流啊
大河向东流啊
非常感谢,用这种方法解决了
0
ManderSF
ManderSF

encode   没

大河向东流啊
大河向东流啊
能说一下具体怎么做吗,谢了
0
ManderSF
ManderSF

我不知道你具体的实现方式  但是一般客户端和服务端进行中文校验的时候 一般是encode 然后decode的 

大河向东流啊
大河向东流啊
是这样吗
大河向东流啊
大河向东流啊
System.out.println(java.net.URLDecoder.decode(name, "UTF-8"));
大河向东流啊
大河向东流啊
String name=java.net.URLEncoder.encode("测试", "UTF-8"); System.out.println(name); name=java.net.URLEncoder.encode(name,"UTF-8"); System.out.println(name);
0
snowfog
snowfog

sql查询有问题

0
Users_Zwt
Users_Zwt

你应该把你的查询代码贴出来。

0
Manfred.Yan
Manfred.Yan

UTF8的编码标准也有几种,你写入和查询使用的编码不一样。

0
v若水
v若水

贴一下代码吧

0
wanglu_bj
wanglu_bj

是不是有空格之类的,还是得看啊下具体的代码和sql

0
开源中国首席二哥
开源中国首席二哥

在MyEclipse里面却始终是null 。你指的查询非中文是有值的。如果查询中文则为Null?如果是这样应该不是编码的问题,如果是编码的问题,那你得到的数据应该是乱码才对。建议debug下看看。

大河向东流啊
大河向东流啊
jdbc:mysql://$ip:$port/$db?useUnicode=true&characterEncoding=UTF8& 是MySQL的问题,需要加这句话才行,也非常感谢你
0
大河向东流啊
大河向东流啊

引用来自“蓝风970655147”的评论

jdbc:mysql://$ip:$port/$db?useUnicode=true&characterEncoding=UTF8&

试试呢

useUnicode=true&characterEncoding=UTF8
返回顶部
顶部