1.response使用字节流发送一个中文
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//1.使用字节流将数据反应给客户端
ServletOutputStream stream = response.getOutputStream();
//2.准备数据
String stringDate = "wu桐树";
//3.将数据写入到字节流
stream.print(stringDate);
}
異常:java.io.CharConversionException: Not an ISO 8859-1 character: [桐]
問題緣由:中文是佔兩個字節的
解決方案:stream.print(stringDate);-------->改爲stream.writer(stringDate.getBytes());
更改之后
網頁顯示:wu桐树
内部數據顯示:wuí?ê÷(亂碼)
2.異常,網頁緩存數據亂碼。
原因:reponse發送給網頁的數據是以gbk編碼形式,顯示形式也是gbk默認
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
//1.使用字节流将数据反应给客户端
ServletOutputStream stream = response.getOutputStream();
//2.准备数据
String stringDate = "wu桐树";
//3.将数据写入到字节流
// stream.print(stringDate);
stream.write(stringDate.getBytes("utf-8"));
)
网页和服务器数据交互图