java ee中的乱码问题及解决方案(持续更新原创)
2011-09-15 20:27
288 查看
java ee中的乱码问题及解决方案(持续更新)
注:本文章从默认都使用UTF-8进行编码
1、 Myeclipse的默认编码设置。
修改所有文本文件的编码设置:Windows àpreference
修改编辑器的编码设置:
这里可以把需要的文件类型都设置为UTF-8(你需要的编码方式)
最后,修改默认项目的编码
至此为止,Myeclipse的编码默认都是你需要的编码,为今后不会出乱码问题提供保障。
2、 servlet中输出中文的乱码问题
servlet中,下面这条语句前台输出乱码
out.println("你好");
这个比较简单,在doPost或doGet方法中加入
response.setCharacterEncoding("UTF-8");
注意,必须加在输出流前
3、表单提交时的编码
post 提交方式
<form action="servlet/CodingServlet" method="post">
<input type="text" name="id"/>
<input type="submit" value="提交" />
</form>
在servlet中
String id = request.getParameter("id");
out.println(id);
System.out.println(id);
控制台输出:???
页面输出:浼�
都为乱码
解决方法:加入request.setCharacterEncoding("UTF-8");
控制台输出正常,页面为 ???
继续加入response.setCharacterEncoding("UTF-8");
乱码解决
注:以上用过滤器写比较方便,但是本人还没学到,暂时先这么写,学好了会更新上去的
注:以上两条语句必须写在输出流前面,最好写在方法刚开始的地方。
Get提交方式
<form action="servlet/CodingServlet"method="get">
<input type="text" name="id"/>
<input type="submit" value="提交" />
</form>
String id = request.getParameter("id");
out.println(id);
System.out.println(id);
控制台:???¨¨??
页面 :灏藉揩
又全部为乱码,加入post的两条解决编码问题的语句无效
解决方法:
方法开始处加入
response.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文件
修改两个地方,重启。
乱码问题先写到这,其实这已经解决大部分乱码问题,以后有新发现再更新。
注:本文章从默认都使用UTF-8进行编码
1、 Myeclipse的默认编码设置。
修改所有文本文件的编码设置:Windows àpreference
修改编辑器的编码设置:
这里可以把需要的文件类型都设置为UTF-8(你需要的编码方式)
最后,修改默认项目的编码
至此为止,Myeclipse的编码默认都是你需要的编码,为今后不会出乱码问题提供保障。
2、 servlet中输出中文的乱码问题
servlet中,下面这条语句前台输出乱码
out.println("你好");
这个比较简单,在doPost或doGet方法中加入
response.setCharacterEncoding("UTF-8");
注意,必须加在输出流前
3、表单提交时的编码
post 提交方式
<form action="servlet/CodingServlet" method="post">
<input type="text" name="id"/>
<input type="submit" value="提交" />
</form>
在servlet中
String id = request.getParameter("id");
out.println(id);
System.out.println(id);
控制台输出:???
页面输出:浼�
都为乱码
解决方法:加入request.setCharacterEncoding("UTF-8");
控制台输出正常,页面为 ???
继续加入response.setCharacterEncoding("UTF-8");
乱码解决
注:以上用过滤器写比较方便,但是本人还没学到,暂时先这么写,学好了会更新上去的
注:以上两条语句必须写在输出流前面,最好写在方法刚开始的地方。
Get提交方式
<form action="servlet/CodingServlet"method="get">
<input type="text" name="id"/>
<input type="submit" value="提交" />
</form>
String id = request.getParameter("id");
out.println(id);
System.out.println(id);
控制台:???¨¨??
页面 :灏藉揩
又全部为乱码,加入post的两条解决编码问题的语句无效
解决方法:
方法开始处加入
response.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文件
修改两个地方,重启。
乱码问题先写到这,其实这已经解决大部分乱码问题,以后有新发现再更新。
相关文章推荐
- 网络数据包获取问题及解决方案-------持续更新
- 数据库开发遇到的问题及解决方案(个人日志、持续更新)
- ubuntu12.04 各种小问题及解决方案集锦【持续更新】
- Ubuntu下出现的小问题及解决方案记录(持续更新)
- java ee乱码的问题的解决方案
- [原创]Gerrit中文乱码问题解决方案分享
- iOS开发:常见问题及解决方案(持续更新...)
- Oracle pl/sql导入sql文件,插入更新数据,中文乱码问题解决方案
- 前端小技巧(持续更新,一些遇到问题的解决方案)
- [原创]OpenERP 7.0 打印PDF报表 中文 乱码问题的解决方案。
- torch问题及解决方案汇总(持续更新)
- ASP.NET AJAX(Atlas)现存的一些常见问题以及解决方案[持续更新]
- java ee中的乱码问题及解决方案
- java web开发中遇到的问题及解决方案(个人学习日志,持续更新)
- [原创]关于cvs客户端(ECLIPSE内置)连接CVS服务器中文乱码问题解决方案
- 平时工作开发中,常见问题解决方案收集整理(持续更新)
- CSS浏览器兼容问题(IE6/IE7/Firefox)解决方案汇集及实例纵览(持续更新)
- 在组建多节点openstack时可能遇到的问题的解决方案(持续更新)
- 小米笔记本在Kali Linux下所遇问题部分解决方案(持续更新中)
- 持续更新线上问题及解决方案