这是我初学servlet是碰到的问题,servlet中System.out.println中文控制台显示乱码问题,我在CSDN中看来许多大佬提供的解决方案后但程序输出的结果还是乱码
先给你们分享一下我找到的我认为比较有用的大佬的解决方案:
一:http://t.csdnimg.cn/NuphH 这位大佬出现的问题和我是一样的你们先看看能不能解决
二:在Servlet中,如果在System.out.println中输出中文字符,可能会出现乱码问题。这是因为System.out.println输出的字符默认使用的是系统的默认字符编码,而在Servlet中,通常使用的是UTF-8编码。
为了解决这个问题,可以通过以下两种方式之一来解决:
- 使用PrintWriter输出中文字符:
response.setContentType("text/html; charset=UTF-8"); PrintWriter out = response.getWriter(); out.println("你好,世界!");
- 使用UTF-8编码输出中文字符:
System.out.println(new String("你好,世界!".getBytes("UTF-8"), "UTF-8"));
三:我最后是将电脑系统管理语言中勾选了Beta版,问题就得到解决了。
本人看法,说的不好还望见谅:
在Servlet中,如果在System.out.println中输出中文字符,可能会出现乱码问题。这是因为System.out.println输出的字符默认使用的是系统的默认字符编码,而在Servlet中,通常使用的是UTF-8编码。
而系统默认的字符编码应该是GBK,直到我将系统语言中的Beta 版勾选上程序输出结果就变成中文形式了,以上纯属个人看法,还望各位体谅一下。
如果有哪位大佬知道其他解决方法,欢迎分享你的解决方法。