request.getParameter () nie wyświetla poprawnie kodowania znaków w serwletu java
Mam problem z UTF-8 w pliku serwletu java. Kiedy otrzymuję wartość parametru w adresie URL, mam problem ze znakami UTF-8. Nie wyświetla poprawnie japońskich znaków.
Nagłówek Jsp już ma
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Dodałem ustawienie URIEncoding w konektorze do UTF-8 w pliku server.xml.
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
Kod napisałem w następujący sposób w 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>
Następnie napisałem kod jako następujący w serwletu java.
if(g_request.getParameter("name") != null){
g_session.setAttribute(NAME, g_request.getParameter("name"));
}
Testowałem też zrequest.setCharacterEncoding()
metoda w serwletu java, ale tak naprawdę nie działa. Chociaż próbowałem wielu sposobów na podstawie odpowiedzi na problem innych ludzi związany z kodowaniem znaków w serwletach w stackoverflow, nie mogę rozwiązać mojego problemu.
Co mogę zrobić, aby poprawnie wyświetlić kodowanie znaków? Z góry dziękuję.