本文共 1662 字,大约阅读时间需要 5 分钟。
很多人 特别是新手 做j2ee 项目中
总能受困于 这样或那样的编码问题这里讨论下 新手学习,高手指教 一起研究下(以 tomcat mysql 做例子 我推荐所有的编码采用utf-8)1 工程工程内所有的 .java .jsp .xml .txt 都有默认的编码 默认的是系统环境的编码我们中文系统通常是GBK 推荐都采用utf-8 utf-8 的时候 你编译 生成doc 可能会遇到乱码(特别是采用ant 的时候,生成doc你几乎100%会遇到)解决方法 以ant 为例子编译 注意 encoding 参数 生成doc 注意 encoding 和 charset 这里 的encoding 就是指的你 java 文件的编码格式 javac 和javadoc 都有这个参数charset 指的是 生成 doc 后的编码方式 javadoc 的参数2 数据库mysql 的编码最复杂 从4以后 mysql 号称支持多编码 它更灵活了 我们也更麻烦了mysql 有4个级别的编码 系统级库级表级sql语句级请保持采用统一的编码 推荐utf-8其它数据库要简单的多 一般都是一种编码3 web server tomcat 为例tomcat server.xml 中一个参数 maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" URIncoding="utf-8"/> 经测试 这个URIncoding 参数主要是 get 方法中采用编码 4 jsp 显示层 第1条中说明了 jsp 文件本身的格式 很多朋友采用eclipse +myeclipse 生成jsp 它自动生成一个头<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 不要误解 这句话不能保证你在ie里看到的不是乱码 pageEncoding它的意思是 这个页面本身采用的是 utf-8 (似乎只在eclipse 里有效果 ,我不确定) 为了在ie 里不乱码 你还得加一句 <%@ page contentType="text/html; charset=UTF-8"%> 它不能在(myeclispe)自动生成 推荐修改 myeclipse的模板 在下边的目录里 MyEclipse/eclipse/plugins/com.genuitec.eclipse.wizards_4.0.1/Templates 里边的jsp模版 你加上<%@ page contentType="text/html; charset=${encoding}"%> 5 filter 自从tomcat 4 以后 网上就流传了一个SetCharacterEncodingFilter 过滤器 搜一下有很多 很好用 web.xml 中加入(本文作者: 欢迎转载,转载请保留作者声明,谢谢!)
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=791003