jsp出现乱码的主要原因有两个: 2113 Java和JSP文件本身5261编译时出现乱码问题和其他媒体中的Java程序,以及4102彼此产生乱码问题.
一个,1653年,首先,Java(包括JSP)源文件可能包含中文,并且Java和JSP源文件根据字节流保存. 如果将Java和JSP编译成类文件,则使用它们. 如果编码方法与源文件的编码方法不一致,则会出现乱码.
基于此乱码,建议不要在Java文件中写中文(注释部分不参与编译,写中文没关系),如果必须编写jsp注释乱码,请尝试使用参数-ecoding手动编译GBK或-e编码gb2312;对于JSP,向文件头添加<%@页面contenttype =“="" text="" html;="" charset="GBK”%">或<%@页面contenttype =“="" text="" html;="" charset="gb2312”%">基本上可以解决这种乱码问题.
介绍第二种类型的乱码,即Java程序与其他存储介质交互时生成的乱码. 许多存储介质(例如,文件,流等)都是基于字节流存储的. 当Java程序与这些媒体交互时,就会在char和byte之间进行转换,例如从页面进行转换. 以提交形式提交的数据在Java程序中显示为乱码.
如果以上转换过程中使用的编码方法与字节的原始编码不一致,则可能会出现乱码.
第二,解决方案
对于流行的Tomcat,有以下两种解决方案:
1)更改D: \ Tomcat \ conf \ server.xml并将浏览器编码格式指定为“简体中文”:
方法是找到server.xml
<连接器端口=“ 8080”="" maxthreads="“" 150”="" minsparethreads="“" 25”="" maxsparethreads="“">连接器端口=“>
enableLookups =“ false” redirectPort =“ 8443” acceptCount =“ 100”
connectionTimeout =“ 20000” disableUploadTimeout =“ true” URIEncoding ='GBK'/>
您可以通过以下方式验证更改是否成功: 更改之前,在页面有乱码的IE浏览器中jsp注释乱码,单击菜单“查看|编码”,您会发现“西欧(ISO)”是已选择. 更改后,单击菜单“查看|编码”,您会发现已选择“简体中文(GB2312)”.
b)应该像这样修改Java程序:
公共类ThreeParams扩展了HttpServlet {
公共无效doGet(HttpServletRequest请求,HttpServletResponse响应)
引发ServletException,IOException {
response.setContentType(“ text / html; charset = GBK”);
...
}
}
response.setContentType(“ text / html; charset = GBK”);这句话的目的是让浏览器将Unicode字符转换为GBK字符. 这样,页面的内容和浏览器的显示模式将设置为GBK,并且不会出现乱码.
本文来自本站,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-250702-1.html
……