首页 > 解决方案 > 日文字符在 jsp 页面 Spring MVC 上未正确呈现

问题描述

我正在尝试将日语字符添加到 JSP 文件并使用 UTF-8 渲染和查看。

jsp文件:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html>
<head>
   <meta charset="utf-8">
   <title>Terms & Conditions</title>
</head>
<body>
  <div id="term-body">
    <h3>Account terms</h3>
  <div>
     <p>1. 同9後で票49女イ道済ゅれびス都関推ヘクセス読優ーた入北事フ注用テエヨモ図管ずばとッ医緒るょぽ訴番シケヲホ独横ム背本米とんば通一取ろみ掲相著よぼはレ</p>
     <p>2. 蔵身断ソムサ億領ワヱ報江ぐ万芸増ヨネ試梁レ芸同ヒ松成ウヲナカ換任ざどせ意足ヤヒコ護国げめそ援質か表過つぼ故企説階れクあぽ。&lt;/p>
  </div>
  </div>

</body>
</html>

网页.xml:

  <servlet>
    <servlet-name>sample</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/classes/spring-mvc-servlet.xml</param-value>
    </init-param>
    <init-param>
        <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
        <param-value>true</param-value>
    </init-param>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
        <param-name>forceEncoding</param-name>
        <param-value>true</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

但即使编码是强制执行的,我也无法正常工作。它最终呈现这样

  Account terms
1. ?9???49???????????????????????????????????????????????????????????????????

2. ?????????????????????????????????????????????????????????????

标签: spring-mvcjsputf-8rendering

解决方案


就我而言,对于日文字符,Shift-JIS 编码适用于所有浏览器。请通过设置浏览器编码进行检查。


推荐阅读