天天看点

java控制台打印乱码_Java Servlet中在控制台输出中文的乱码问题

代码如图 :

java控制台打印乱码_Java Servlet中在控制台输出中文的乱码问题

那么问题在于, 注意到我用的是system.out.println(), 但是最后在输出的结果却是两个问号 :

java控制台打印乱码_Java Servlet中在控制台输出中文的乱码问题

]

特别奇怪, 然后我在这里尝试这输出了一下java默认的字符编码

java控制台打印乱码_Java Servlet中在控制台输出中文的乱码问题

]

结果输出的居然是 ASCII :

java控制台打印乱码_Java Servlet中在控制台输出中文的乱码问题

然后我一直以为是IDE的问题(我用的是IDEA), 然后我重新开了个项目, 也是什么都没设置, 但不是web项目 :

然后默认charset是utf-8 然后中文也能正常输出. 这样来看的话显然和IDE没什么问题. 那么这问题到底出在哪里了?

更新 :

我发现用我室友的电脑使用同样的IDE, Tomcat配置的话, 他的电脑是正常的, 就是默认字符集是UTF-8, 能够输出中文, 但是我的不行, 不知道为什么.

resp.setCharacterEncoding("UTF-8");

而且你代码的顺序有问题吧,应该是先

setContentType

看下对应的文件的编码格式!

这个应该还是IDE的问题,WEB项目和main函数运行的方式的编码配置不一定是在一起的(至少eclipse就不是),具体配置方式,可以参考这个:http://blog.csdn.net/frankche…