resp.getWriter().write();输出乱码

resp.getWriter().write();输出

img


源代码:
public class Servlettext extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
resp.getWriter().write("你好,世界!");
}

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    doGet(req, resp);
}

}

怎么解决啊!

按照此图进行操作一下即可

img

方法内开头加上这两句

resp.setHeader("Content-type", "text/html;charset=UTF-8"); //让浏览器用utf8来解析返回的数据  
resp.setCharacterEncoding("UTF-8");           
                                            

我试了一下用过滤器

<servlet>
        <servlet-name>Servlettext</servlet-name>
        <servlet-class>com.lin.servlettext01.Servlettext</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Servlettext</servlet-name>
        <url-pattern>/stext</url-pattern>
    </servlet-mapping>
    <filter>
        <filter-name>ServletFilter</filter-name>
        <filter-class>com.lin.servlettext01.ServletFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>ServletFilter</filter-name>
        <url-pattern>/stext</url-pattern>
    </filter-mapping>

结果浏览器直接不显示了

img

img

你这个文件格式怕都不是UTF-8

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632