java编码 servlet输出到浏览器出现中文乱码 求大神指教

response.setContentType("text/html;UTF-8");response.getOutputStream().write("中国".getB... response.setContentType("text/html;UTF-8");
response.getOutputStream().write("中国".getBytes());
这样是不会出现乱码的,但是我不知道"中国".getBytes()这个是获得的什么码表的字节数组,于是我改成了
"中国".getBytes(“UTF-8”),悲剧了,乱码出现了。于是我彻底晕了,到底是什么原因?请大神帮忙看看如下疑惑。
1、我取得的是UTF-8下的字节数组然后让浏览器以UTF-8接收,怎么还会出错?
2、为什么"中国".getBytes()这样写就不会出错呢?
3、字节流在传送时不是不查码表的嘛,那服务器中的默认码表是什么?
跪求大神解疑答惑,不胜感激!!!最好加我QQ1308567317 这样方便交流,谢谢啦
展开
 我来答
lhq910523
推荐于2017-11-27 · 超过50用户采纳过TA的回答
知道小有建树答主
回答量:86
采纳率:0%
帮助的人:72.1万
展开全部
response.setContentType("text/html;UTF-8");书写错了,应该为

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

"中国".getBytes()使用的是本地平台默认的字符集编码,即GBK。美国的应该就是ISO8859-1

第三个问题本身就不存在,数据到达服务器中时还是字节,何来编码
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式