java ee中的乱码问题及解决方案

1、 Myeclipse的默认编码设置。

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

修改编辑器的编码设置:

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

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

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

  

  

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

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

       out.println("你好");

 这个比较简单,在doPost或doGet方法中加入

  

 response.setCharacterEncoding("UTF-8");

 注意,必须加在输出流前

 3表单提交时的编码

    post提交方式

     <formaction="servlet/CodingServlet"method="post">

           <inputtype="text"name="id"/>

           <inputtype="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提交方式

     <formaction="servlet/CodingServlet"method="get">

           <inputtype="text"name="id"/>

           <inputtype="submit"value="提交"/>

     form>

 Stringid = request.getParameter("id");

     out.println(id);

     System.out.println(id);

 控制台:???¨¨??

 页面灏藉揩

 又全部为乱码,加入post的两条解决编码问题的语句无效

 解决方法:

  

 方法开始处加入

  response.setCharacterEncoding("UTF-8");

并且按照如下的代码取得值:

        String  name1= request.getParameter("name1");      

  String   name = newString(name1.getBytes("ISO-8859-1"),"UTF-8");

System.out.println("------------------");

System.out.println(name);

out.println(qq);

注:该乱码解决也可以修改tomcat的server.xml文件,但是不推荐使用,因为你的项目不能说在别的服务器上运行就乱码,所以这里省略。

    4、URL传值出现乱码。

解决方法同表单get方法(其实是同一种提交方式);

        5、 mysql的乱码问题

修改D:\soft\MySQL\MySQL Server 5.0(你的安装目录)

my.ini文件

修改两个地方,重启。

乱码问题先写到这,其实这已经解决大部分乱码问题。

 




你可能感兴趣的:(JAVA)