一、Java中文问题的由来
Java的内核和class文件是基于unicode的,这使Java程序具有良好的跨平台性,但也带来了一些中文乱码问题的麻烦。缘故原由紧张有两方面,Java和JSP文件本身编译时产生的乱码问题和Java程序于其他媒介交互产生的乱码问题。
首先Java(包括JSP)源文件中很可能包含有中文,而Java和JSP源文件的保存办法是基于字节流的,如果Java和JSP编译成class文件过程中,利用的编码办法与源文件的编码不一致,就会涌现乱码。
基于这种乱码,建议在Java文件中只管即便不要写中文(注释部分不参与编译,写中文没紧要),如果必须写的话,只管即便手动带参数-ecoding GBK或-ecoding gb2312编译;对付JSP,在文件头加上<%@ page contentType=\公众text/html;charset=GBK\"大众%>或<%@ page contentType=\"大众text/html;charset=gb2312\"大众%>基本上就能办理这类乱码问题。
本文要重点谈论的是第二类乱码,即Java程序与其他存储媒介交互时产生的乱码。
很多存储媒介,如数据库,文件,流等的存储办法都是基于字节流的,Java程序与这些媒介交互时就会发生字符(char)与字节(byte)之间的转换,例如从页面提交表单中提交的数据在Java程序里显示乱码等情形。
如果在以上转换过程中利用的编码办法与字节原有的编码不一致,很可能就会涌现乱码。
二、办理方法
对付盛行的Tomcat来说,有以下两种办理方法:
1) 变动 D:\Tomcat\conf\server.xml,指定浏览器的编码格式为“简体中文”:
方法是找到 server.xml 中的
<Connector port=\公众8080\"大众 maxThreads=\"大众150\"大众 minSpareThreads=\公众25\"大众 maxSpareThreads=\公众75\"大众
enableLookups=\"大众false\公众 redirectPort=\公众8443\"大众 acceptCount=\"大众100\公众
connectionTimeout=\"大众20000\公众 disableUploadTimeout=\"大众true\"大众 URIEncoding='GBK' />
西安尚学堂 http://www.xasxt.com/
Java零根本就业班
上课地址:陕西省西安市高新区科技二路西安软件园天泽大厦五楼
咨询电话:029-62258374 QQ 2145598324
招生工具:
1. 零打算机编程根本学
2. 对行业不满意人士
3. 跨专业编程爱好者
4. 在校大学生实训
Java零根本班,10年 Java 以上开拓履历技能讲师、架构师、行业大牛,亲自纯面授课程,手把手教你写编程。
10月新班免费试听课程已就绪,7天免费听课,体验Java乐趣。