
页面也需要设置转码的:
页面:(jsp)
<%@ page language="java" import="javautil" pageEncoding="UTF-8"%>
responsesetContentType("text/html;charset=UTF-8");
处理文件:(java)
转码的三种方法:
A 接受参数时进行编码转换
String str = new String(requestgetParameter("something")getBytes("ISO-8859-1"),"utf-8"); 这样的话,每一个参数都必须这样进行转码。很麻烦。但确实可以拿到汉字。
B 在请求页面上开始处,执行请求的编码代码, requestsetCharacterEncoding("UTF-8"),把提交内容的字符集设为UTF-8。这样的话,接受此参数的页面就不必在转码了。直接使用
String str = requestgetParameter("something");即可得到汉字参数。但每页都需要执行这句话。
这个方法也就对post提交的有效果,对于get提交和上传文件时的enctype="multipart/form-data"是无效的。稍后下面单独对这个两个的乱码情况再进行说明。
C 为了避免每页都要写requestsetCharacterEncoding("UTF-8"),建议使用过滤器对所有jsp进行编码处理。
新手可以暂时不考虑过滤器的方法,过滤器一般都会涉及到配置开发,要修改webxml,还算是比较麻烦的,建议接触java一段时间后再考虑使用过滤器的方法。或者如果应用了struts框架,可以查看struts的转码过滤器配置。
你是什么方式提交的,如果post提交的 必须保证客户端和服务器端的编码是一样的
有两种处理办法:
A、用过滤器处理,将提交的request里面的值过滤成统一格式
B、在传递的时候用urlEndoce转码
在你的MySQL目录中找到myini文件,将里面的default-character-set= 的值设为GBK
然后,在你的获得参数的servlet文件中加上
requestsetCharacterEncode(“gbk”)(只对post方法有效,要在getParameter()前设置)
或者在tomcat的目录下的conf文件夹内的serverxml文件中找到
<Connector port="8080" protocol=">
页面设置默认的都是UTF-8格式,所以,读取到页面的信息都是乱码,把格式改为“gb2312”就可以了。例如:
<%@ page contentType="text/html;charset=gb2312"%>
以上就是关于jsp中文乱码全部的内容,包括:jsp中文乱码、用JSP在MYSQL数据库里写的中文数据全是乱码,怎么解决,求帮助啊、jsp *** 作mysql存取中文乱码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)