[size=large]今天在做一个简单的jsp/servlet的时候,从前台提交form表单到后台,出现了乱码,我在页面设置了编码为utf-8,并且设置了request的编码为utf-8,但是传到后台的数据依旧是乱码,我又在后台设置了response的编码为utf-8,乱码依旧,好吧!我试着在后台设置了一下request的编码为utf-8,郁闷的不乱码了。我觉得很纳闷,为啥前台设置的编码格式没有用呢?好吧!带着郁闷继续往下。后台servlet调用封装的jdbc类,获取到一个list集合,将集合遍历出来,用分号作为分隔符最后拼凑为一个字符串,再使用request.setAttribute()方法传到前台jsp页面,可是在前台页面接受到的数据也是乱码,我算是信了你的邪,我请求响应对象都设置了编码格式utf-8,前台后台都设置了可是为什么还是乱码?
网上搜了一下, 网上搜了一下,使用了response.setHeader("content-type","text/html;charset=UTF-8");
贴上网上搜的一段话:
[align=center][/align]
一般情况下,html里可以通过使用
* <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
* 来定义浏览器解析页面的编码方式,但是,在网站开发中,会出现一种情况,就是在不符合访问条件时,在php里面会直接echo一段提示(非html页面),
例如,|||||echo "您没有权限";||||| ,此时直接打印会根据浏览器自己设置的编码方式进行解析, 为避免出现乱码,可以使用
header("Content-Type:text/html;charset=utf-8");
虽然看不懂,但是好像很强大的样子。
书到用时方恨少。[/size]
网上搜了一下, 网上搜了一下,使用了response.setHeader("content-type","text/html;charset=UTF-8");
贴上网上搜的一段话:
[align=center][/align]
一般情况下,html里可以通过使用
* <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
* 来定义浏览器解析页面的编码方式,但是,在网站开发中,会出现一种情况,就是在不符合访问条件时,在php里面会直接echo一段提示(非html页面),
例如,|||||echo "您没有权限";||||| ,此时直接打印会根据浏览器自己设置的编码方式进行解析, 为避免出现乱码,可以使用
header("Content-Type:text/html;charset=utf-8");
虽然看不懂,但是好像很强大的样子。
书到用时方恨少。[/size]