TomCat乱码问题

TomCat控制台乱码问题

乱码问题解决:

响应乱码问题

向客户端响应数据:

java 复制代码
package Servlet;

import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

import java.io.IOException;

@WebServlet("/servlet4_4")
public class servlet4_4 extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.getWriter().write("hello 你好,我是格格");
    }

}

方式1 :后端通过设置响应体的字符集和浏览器解析响应体的默认字符集一致 ( 不推荐 )

方式二:通过设置 Content-Type 响应头,告诉浏览器以指定的字符集解析响应体 ( 推荐 )

java 复制代码
package Servlet;

import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

import java.io.IOException;

@WebServlet("/servlet4_4")
public class servlet4_4 extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//        resp.setCharacterEncoding("GBK"); 后端适应前端,不推荐,前端解析字符集是不确定的


        // 告诉客户端使用指定字符集进行解码     通过设置Content-Type响应头
        // 需要注意的是要明确响应体的编码,然后在设置Content -type

        // 没置响应体使用UTF-8编码(可以不写)
        resp.setCharacterEncoding("UTF-8");

        // 没置Content-Type响应头,告诉客户端用UTF-8解码
        resp.setContentType("text/html;charset = UTF-8");
        resp.getWriter().write("hello 你好,我是格格");
    }

}
相关推荐
007php0072 小时前
服务器上PHP环境安装与更新版本和扩展(安装PHP、Nginx、Redis、Swoole和OPcache)
运维·服务器·后端·nginx·golang·测试用例·php
saynaihe8 小时前
ubuntu 22.04 anaconda comfyui安装
linux·运维·服务器·ubuntu
小蜜蜂爱编程8 小时前
ubuntu透网方案
运维·服务器·ubuntu
头发那是一根不剩了9 小时前
nginx:SSL_CTX_use_PrivateKey failed
运维·服务器
景彡先生12 小时前
C++编译期计算:常量表达式(constexpr)全解析
服务器·c++
阿巴~阿巴~12 小时前
理解Linux文件系统:从物理存储到统一接口
linux·运维·服务器
tan77º12 小时前
【Linux网络编程】应用层自定义协议与序列化
linux·运维·服务器·网络·c++·tcp/ip
wanhengidc12 小时前
在徐州网络中服务器租用与托管的优势
运维·服务器·网络
音程14 小时前
(已解决) 如何使用密钥连接远程服务器jupyter notebook从而在本地浏览器上打开
运维·服务器·python·jupyter
java_强哥16 小时前
Spring Boot启动原理:从main方法到内嵌Tomcat的全过程
spring boot·后端·tomcat