首先把你获取的页面的数据用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编码。
转码可以在页面中或是sevlet以及过滤都可以解决的,下面以页面和servlet为例:方法一:设置 request 和 response 的编码 [ 页面编码必须为 u8 ]
request.setCharacterEncoding("UTF-8")//传值编码
response.setContentType("text/htmlcharset=UTF-8")//设置传输编码
方法二:
String str1=传来的数据。
String ss=new String(str1.getBytes("ISO-8859-1"),"utf-8")//转码UTF8
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)