做注册页面。输入中文注册信息后,提示注册成功。。但在登陆时却登不上去。如果是英文就行了。我用的是mysql,查看表时,中文信息都是???请问怎么解决?各位高手帮下忙!
补充:MySQL的编码GB2312和utf8都试过了,还改过my.ini中的client和server默认编码
分别是gbk和utf8都不行啊!!!
补充:MySQL的编码GB2312和utf8都试过了,还改过my.ini中的client和server默认编码
分别是gbk和utf8都不行啊!!!
解决方案 »
- 超级菜的问题
- 这个servlet错在哪里?求大大们解决阿
- 一个split的问题
- 为什么我下载的Oracle、SQL Server数据库驱动都不能支持JDBC2.0规范?
- 用mvc写一个注册程序代码
- 【菜鸟问题】Linux下JSP环境是不是用APCHE+TOMCAT/RESIN+JDK+MYSQL就够了?
- jsp数据库搜索代码
- 请问如何在JSP与ASP之间共亨Session? 急!!!
- 关于<@ page contentType="application/vnd.ms-excel;charset=GBK"%>
- spring boot No mapping for GET
- 新鸟求教
- 为何到了支付宝收银台页面出现了乱码
个人理解在jsp页面中提交的时候是提交ISO-8895-1格式的,所以存入数据库中的信息也是乱码,无论pageEncoding设置成什么。
所以在servlet中需要对提交的中文部分进行一下编码转换再存入数据库,最方便的方法是用过滤器,当然,对提交的参数一条一条的转换也行。
request.setCharacterEncoding("GBK");
至于数据库的GBK设置。
如果不改,不影响你用(登录和显示汉字都没有问题),
只是在你在doc下,直接看的时候是????。
response.setCharacterEncoding("GBK");
我原先犯过这么一个错误
解释一下前面再从的意思。还有,信息到后台,打印出来的看看是不是乱码(感觉应该是乱码)把你前台jsp页面和后台代码贴一下。
看看我的写法吧:
String url = "jdbc:mysql://localhost:" + port + "/" + dbName + "?user="
+ userName + "&password=" + userPasswd
+ "&useUnicode=true&characterEncoding=utf-8";
我创建表时忘了把编码设成utf8,默认是latin1,所以一直不行。现在终于解决了,很高兴!!!