簡體   English   中英

如何在jsp頁面上顯示通過ajax查詢傳遞的日語字符

[英]How to display Japanese characters passed through an ajax query on a jsp page

我有一個.jsp頁面,它向另一個.jsp頁面發出ajax請求。 查詢參數包含日語字符。 通過查看字符正確傳遞的請求,我已經確認。 但是,另一側未正確接收到該字符串。

這些是文件:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script>
        $(document).ready(function() {
            url = "ajaxHandler.jsp";
            $.ajax({ 
                type : "GET",
                url : url,
                data: {  parameter : "\u306f" },
                dataType : "html", //expect html to be returned
                success : function(response) {
                    console.log("successful query");
                }
            });
        });
    </script>
</head>
<body>

ajaxHandler.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%
    String val = request.getParameter("parameter");
%>
<br>
<%=val %>

當我點擊URL“ https:... / ajaxHandler.jsp?parameter =%E3%81%AF”時,將顯示一個完全不同的字符。

我懷疑頁面的字符編碼有問題。 我已經嘗試過使用“ utf-8”,現在嘗試使用“ shift-jis”,但是仍然無法顯示該字符串。

所以我想基本了解為什么我們要指定字符集以及在這里如何使用它。 還請告訴我如何獲取字符串。

PS:“ \\ u306f”是實際的日語字符,在日食中顯示,而不是此處的unicode。

編輯位於tomcat conf文件夾中的server.xml文件。

根據相關的連接器指定URIEncodingUTF-8

例如,我使用的是https連接器,因此server.xml的連接器配置如下所示:

在此處輸入圖片說明

更新server.xml ,重新啟動Tomcat。

而已。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM