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 你好,我是格格");
    }

}
相关推荐
爱学习的小囧4 小时前
ESXi 8.0 原生支持 NVMe 固态硬盘吗?VMD 配置详解教程
linux·运维·服务器·esxi·esxi8.0
坚持就完事了4 小时前
Linux中的变量
linux·运维·服务器
Cat_Rocky5 小时前
利用Packet Tracer网络实验
linux·运维·服务器
爱学习的小囧6 小时前
ESXi VMkernel 端口 MTU 最佳设置详解
运维·服务器·网络·php·虚拟化
程序员老邢7 小时前
【技术底稿 19】Redis7 集群密码配置 + 权限锁死 + 磁盘占满连锁故障真实排查全记录
java·服务器·经验分享·redis·程序人生·微服务
arronKler8 小时前
大数据量高并发的数据库优化
服务器·数据库·oracle
星辰_mya8 小时前
OSI 七层模型之“跨国诈骗集团”深度讲解
运维·服务器·后端·面试·架构师
实心儿儿9 小时前
Linux —— 基础IO - 文件描述符
linux·运维·服务器
clear sky .9 小时前
[linux]视频实时推流项目
linux·服务器·音视频
RisunJan10 小时前
Linux命令-nisdomainname(显示或设置系统的 NIS(Network Information Service)域名)
linux·运维·服务器