私は2つのjspページ(a.jsp、b.jsp)を持っています。どちらもUTF-8文字列を正しく表示しています(アラビア文字を意味します)。また、問題なくデータベースに挿入および取得できます。すべてのリクエスト呼び出しに対する文字エンコーディング フィルタ。
問題は、このようなアラビア語のクエリ文字列パラメーターを使用してハイパーリンクを追加するときです
a.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<a href='/LoadProductByTypeId?abc=عربي'>link</a>
</body>
</html>
b.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<c:out value="${param.abc}" />
</body>
</html>
b.jsp では、結果は次のようになります。
عربÙ
エンコーディング フィルターのパラメーターの値を出力しようとすると、同じ「歪んだ」値になりました。
どんな助けでも、本当に感謝しています。