刚刚入门JAVA WEB,总是会被乱码问题弄得晕头转向。
首先,关于编码最常用的几种格式,我先去自我普及了一下,大致是utf-8,gbk,gb2312三种。gbk和gb2312主要是汉字编码,而utf-8为国际编码,同样支持中文,所以我就把所有的编码格式都改为了utf-8。
pageEncoding,contentType,charset的区别
我遇到的乱码,一种是MyEclipes中的jsp文件在preview时出现乱码,一种是web端访问时页面乱码。
首先说一下乱码出现的原因:
JSP(手动设置)、Java(字符串是unicode编码)、操作系统、数据库、Tomcat等等,各种不同环境介质都有不同的编码方式,如果编码方式不统一,就会造成乱码。
再说我遇到的preview乱码,preview预览只能看到html的内容,脚本语言中的输出是看不到的,如果这里出现乱码那就需要加上 <meta content="text/html" charset="utf-8">,这时只能保证preview不会乱码,并不能保证web端访问是什么情况。
jsp文件 preview 浏览器访问






以上两块图片为没有pageEncoding="utf-8"的页面
以下为设置了pageEncoding="utf-8"的页面



再说web端浏览器访问乱码,这时候就需要看page指令中的内容了。
如上图所示。
最初<%@page......pageEncoding=...%>中,有些MyEclipse中默认编码格式是gb2312或者iso8859-1等等,均不是utf-8.
所以,我们需要进行修改,并使默认打开的jsp文件模板也是utf-8
此外,为了保持一致,需要进行多种配置文件以及preference中内容的修改
此外,关于MyEclipse明明自带的有jdk和tomcat服务器,为什么还是要自己配置安装独立的java jdk和tomcat服务器,这个问题,我之前也很好奇,现在缓过来才明白,这完全是个人选择问题,MyEclipse是个强大的IDE,但是也不能仅仅只会使用它,在没有MyEclipse的情况下,完全可以手动编写jsp文件,部署并运行,更大程度上还是个人喜好问。
做一个好学的小白吧!
原文:http://www.cnblogs.com/sunshiniing/p/5005748.html