在servlet中用outputStream输出数据以及中文数据的问题
今天学习了servlet中比较重要的一个知识点,在servlet中用reponse对象的outputStream输出数据以及中文数据的问题。
首先,在servlet中向浏览器写数据(ps:其实这样说并不明确,准确点是想response中写数据,浏览器发现reposonse中有数据,就会读出来),向浏览器中输出数据:1.0版本
String data = "中国";
OutputStream outputStream = response.getOutputStream();
outputStream.write(data.getBytes());
这样写的话在浏览器中就会看到中国两个字,但是如果在向浏览器写数据的时候加入了编码方式,结果就不太一样了。
如下列代码:1.1版本
String data = "中国";
OutputStream outputStream = response.getOutputStream();
outputStream.write(data.getBytes("UTF-8"));
这样的话在浏览器看到的就不是中国了,而是涓浗两个字,这其中的原因是什么呢,看下图: