通过page指令对编码格式进行说明如下:
<%@ page language="java" import="java.util.*" contentType="text/html; charset = utf-8"%>
输出的中文还是乱码,为什么?
下面写就不会出现乱码
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
为什么?恳请各位指导一下,谢谢。
通过page指令对编码格式进行说明如下:
<%@ page language="java" import="java.util.*" contentType="text/html; charset = utf-8"%>
输出的中文还是乱码,为什么?
下面写就不会出现乱码
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
为什么?恳请各位指导一下,谢谢。
是你设置方式的问题。首先有一点要指出来,你都没说清楚是解决哪种文件格式乱码的问题,但你想表述意思大概明白。这样吧,给你区分说一下三种文件格式的设置方式:
1、HTML文件
<!doctype html>
<html>
<head>
<!--或者 <meta http-equiv=="content-type" content="text/html; charset=utf-8" /> -->
<meta charset = "utf-8" />
<title>DEMO</title>
</head>
<body>
</body>
</html>
2、JSP文件
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
</head>
<body>
This is my JSP page. <br>
</body>
</html>
3、XML文件
<?xml version="1.0" encoding="UTF-8"?>
<root>
</root>
注:以上解决的只是文件在客户端显示乱码的问题,要解决服务端后台输入输出乱码的问题另做论述。
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
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 来转换 —— 从而出现了乱码