java ee 中的乱码问题及解决方案(持续更新) 中的乱码问题及解决
方案(持续更新)
注:本文章从默认都使用 UTF-8 进行编码
1、 Myeclipse 的默认编码设置。 修改所有文本文件的编码设置:Windows
preference
修改编辑器的编码设置:
这里可以把需要的文件类型都设置为 UTF-8(你需要的编码方式) 最后,修改默认项目的编码
至此为止,Myeclipse 的编码默认都是你需要的编码,为今后不会出乱码问题提供保障。
2、 servlet 中输出中文的乱码问题 servlet 中,下面这条语句前台输出乱码
out.println("你好");
这个比较简单,在 doPost 或 doGet 方法中加入
response.setCharacterEncoding("UTF-8"); 注意,必须加在输出流前 3、 表单提交时的编码 post 提交方式
在 servlet 中
String id = request.getParameter("id"); out.println(id); System.out.println(id);
控制台输出 ??? 页面输出
浼?
都为乱码
解决方法:加入 request.setCharacterEncoding("UTF-8");
控制台输出正常,页面为 ??? 继续加入 request.setCharacterEncoding("UTF-8"); 乱码解决 注:以上用过滤器写比较方便,但是本人还没学到,暂时先这么写, 学好了会更新上去的 注: 以上两条语句必须写在输出流前面, 最好写在方法刚开始的地方。 Get 提交方式
String id = request.getParameter("id"); out.println(id); System.out.println(id);
控制台:???¨¨??
页面 :灏藉揩
又全部为乱码,加入 post 的两条解决编码
问题的语句无效 解决方法:
方法开始处加入
request.setCharacterEncoding("UTF-8");
并且按照如下的代码取得值:
String id = request.getParameter("id"); String qq = new String(id.getBytes("ISO-8859-1"),"UTF-8"); System.out.println("------------------"); System.out.println(qq); out.println(qq); 注: 该乱码解决也可以修改 tomcat 的 server.
xml 文件, 但是 不推荐使用,因为你的项目不能说在别的服务器上运行就乱码,所以 这里省略。 4、 URL 传值出现乱码。 解决方法同表单 get 方法(其实是同一种提交方式); 5、
mysql 的乱码问题 修改 D:\soft\MySQL\MySQL Server 5.0(你的安装目录) my.ini 文件
修改两个地方,重启。 乱码问题先写到这,其实这已经解决大部分乱码问题,以后有新 发现再更新。