如果我将带有扩展字符的变量传递给我的 JSP,则呈现文件的末尾会被每个非 ascii 字符截断 2 个字节。为什么会这样?这是一个例子。
我的控制器:
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class CharTestController {
@RequestMapping(value="/chartest.do")
public String handleRequest(ModelMap model) throws Exception {
char var1=9829; // Heart Char
String var2="™"; // TM symbol
model.addAttribute("var1", var1);
model.addAttribute("var2", var2);
return "chartest";
}
}
我的 JSP:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
${var1} <c:out value="${var1}" />
${var2} <c:out value="${var2}" />
9876543210
我的输出:
♥ ♥ ™ ™ 98
无论我使用还是只打印变量,因为我打印了 4 个字符,所以最后缺少 8 个字节。有任何想法吗?