java ee中的乱码问题及解决方案(持续更新原创)

java ee中的乱码问题及解决方案(持续更新)

注:本文章从默认都使用UTF-8进行编码

1、 Myeclipse的默认编码设置。

修改所有文本文件的编码设置:Windows àpreference



修改编辑器的编码设置:




这里可以把需要的文件类型都设置为UTF-8(你需要的编码方式)

最后,修改默认项目的编码





至此为止,Myeclipse的编码默认都是你需要的编码,为今后不会出乱码问题提供保障。

2、 servlet中输出中文的乱码问题

servlet中,下面这条语句前台输出乱码

out.println("你好");

这个比较简单,在doPostdoGet方法中加入

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文件


修改两个地方,重启。

乱码问题先写到这,其实这已经解决大部分乱码问题,以后有新发现再更新。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值