从Servlet传输一个用户名到jsp页面时发现出现了中文乱码 很多个问号

一开始以为是jsp页面设置,调了很多基础设置也没用,后面查询了解到是浏览器未区分数据造成的
在Servlet的doget方法中加入这句话
response.setContentType("text/html;charset=UTF-8");
//这句话的意思,是让浏览器用utf8来解析返回的数据setContentType(MIME)的作用是使客户端浏览器,区分不同种类的数据,并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据。
例如web浏览器就是通过MIME类型来判断文件是GIF图片。通过MIME类型来处理json字符串。
如果中文返回出现??字符,这表明没有加response.setContentType("text/html;charset=UTF-8");这句话
看一下效果

当从Servlet传递中文用户名到JSP页面显示为乱码时,问题可能出在浏览器对数据的解析方式。通过在Servlet的doGet方法中设置`response.setContentType(text/html;charset=UTF-8)`,可以指定浏览器使用UTF-8编码解析返回的数据,避免乱码现象。MIME类型用于指示浏览器如何处理不同类型的数据,如图片或JSON。缺少该设置可能导致中文显示为问号。
6407

被折叠的 条评论
为什么被折叠?



