从Servlet传输一个用户名到jsp页面时发现出现了中文乱码 很多个问号
![](https://i-blog.csdnimg.cn/blog_migrate/eff6eef06be781bbb1545d52f8217627.png)
一开始以为是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");这句话
看一下效果
![](https://i-blog.csdnimg.cn/blog_migrate/1121238ce938fcb83707716ea7575c82.png)