Java Servlet中在控制台输出中文的乱码问题

代码如图 :

clipboard.png

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

clipboard.png]

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

结果输出的居然是 ASCII :

clipboard.png

然后我一直以为是IDE的问题(我用的是IDEA), 然后我重新开了个项目, 也是什么都没设置, 但不是web项目 :
然后默认charset是utf-8 然后中文也能正常输出. 这样来看的话显然和IDE没什么问题. 那么这问题到底出在哪里了?

更新 :

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

阅读 10.9k
5 个回答

试试添加Tomcat启动时的参数,如下

图片描述

resp.setCharacterEncoding("UTF-8");
而且你代码的顺序有问题吧,应该是先setContentType

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

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

resp.setCharacterEncoding("UTF-8");
resp.setContentType("text/html;charset=UTF-8");

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题