首先把你获取的页面的数据用DB的编码方式重新编码一下再存入DB.
如String tstna=request.getParameter("shijuanming")
改成String tstna=request.getParameter("shijuanming")
tstna = new String(tstna.getBytes("ISO-8859-1", "GB2312"))
后面的一个编码方式,如果DB是GB2312,那就是这个,如果不是,改成DB相应的编码方式就行了.
当然,把mysql 和 jsp上编码格式设置一致即可, 一般默认mysql的编码格式是UTF-8, 建议在jsp中也设置为UTF-8, 如果你不想这么做的话要改数据库格式, 也就是说你所有建立的表都要重新建立成GBK编码。
jsp读取数据乱码原因如下:1、JSP连接数据库语句指定的编码不正确
解决方案:在JSP连接数据库的语句中,带上useUnicode=true&characterEncoding=UTF-8&autoReconnect=true
2、JSP页面没有指定数据提交的编码,就会造成乱码:
解决方案:这种乱码的情况,只需在页面开头加上request.setCharacterEncoding("GBK")指定提交的即可。
首先在
JSP文件中的url后面加入了"..&useUnicode=true&characterEncoding=gbk"
没什么意义。
你插入之前就是乱码了
这句话对get方式提交的参数起作用
String
uname=
new
String(name.getBytes("ISO-8859-1"),"gbk")
如果是post方法提交表单则使用
request.setCharacterEncoding("gbk")进行编码转换
注意不要重复转换!另外请确保你jsp页面的编码格式也是gbk
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)