request.getParameter () неправильно отображает кодировку символов в сервлете Java
У меня есть некоторые проблемы с UTF-8 в файле сервлета Java. Когда я получаю значение параметра в URL, у меня возникают проблемы с символами UTF-8. Он не отображает должным образом японские символы.
Jsp заголовок уже имеет
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Я добавил настройку URIEncoding в соединителе к UTF-8 в server.xml.
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
Я написал код как следующее в JSP.
<s:textfield key="txt_name" name="txt_name" id="txt_name"
maxlength="64"></s:textfield>
<a href="javascript:showModalWindow('PopUpFile!init.action?<%=Common.PASSWORD%>=<%=Common.encript(ID, Code)%>','',940,650);">
<s:property value="PopUp Link" />
</a>
<script>
function showModalWindow(x_URL, x_ARG, x_WIDTH, x_HEIGHT) {
var x_OPT = "dialogHeight: " + x_HEIGHT + "px; " + "dialogWidth: "
+ x_WIDTH + "px; "
+ "edge: Raised; center: Yes; resizable: Yes; status: Yes;";
x_URL += "&name="+document.getElementById("txt_name").value;
var retValue = window.showModalDialog(x_URL, x_ARG, x_OPT);
if (retValue != null) {
document.forms.frm.action = "ParentFile!getUser.action";
document.forms.frm.submit();
}
}
</script>
И затем я написал код в виде следующего в Java сервлет.
if(g_request.getParameter("name") != null){
g_session.setAttribute(NAME, g_request.getParameter("name"));
}
Я также проверил сrequest.setCharacterEncoding()
Метод в сервлете Java, но он не работает. Хотя я пробовал много способов из ответов на проблему других людей, связанную с кодировкой символов в сервлете в stackoverflow, я не могу решить свою проблему до тех пор.
Что я могу сделать, чтобы правильно отобразить кодировку символов? Заранее спасибо.