通过page指令对编码格式进行说明如下:
<%@ page language="java" import="java.util.*" contentType="text/html; charset = utf-8"%>
输出的中文还是乱码,为什么?
下面写就不会出现乱码
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
为什么?恳请各位指导一下,谢谢。
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
contentType="text/html; charset = utf-8"的意思是指定输出的 HTML 页面的编码方式;但是你在
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>指定的pageEncoding="utf-8"表示 JSP 文件本身的编码,JSP 接收到后端的参数时对参数的解析也是使用这个编码 —— 所以当 JSP 接收到你后端参数时,后端使用的 UTF-8 编码,而你没有设置pageEncoding="utf-8",此时使用的可能就是和你机器相关的默认编码(比如“著名”的 ISO 8859-1)—— 那么 JSP 页面就会出现转码错误,后端以 UTF-8 编码的字符 JSP 以 ISO 8859-1 来转换 —— 从而出现了乱码