내 서블릿에 메시지를 보내도록 Kannel을 구성했습니다. URL은 다음과 같다 :서블릿의 입력 매개 변수를 기반으로 인코딩을 변경하는 중
는http://10.10.10.10/income/Submit?from=%p&to=%P&content=%a&encoding=%C
문제는 encoding
는 페르시아어 메시지 영어 메시지 UTF-8
및 UTF-16BE
입니다. 내 서블릿과 같다 :. 내가 페르시아어 메시지를 얻을 수없는이 코드
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
String to = request.getParameter("to");
String from = request.getParameter("from");
String content = request.getParameter("content");
/* process message here */
}
(그들은 ASCII
로 변환됩니다). request.setCharacterEncoding("UTF-8");
을 request.setCharacterEncoding("UTF-16BE");
으로 변환하면 모든 변수에 대해 null
이됩니다. 아무도 내가 어떻게 도와 드릴까요 to
, from
, content
을 기반으로 encoding
필드를 입력하세요? Glassfish 3.1.2.2를 컨테이너로 사용하고 있습니다.
사실, 'UTF-8'이 3 개 장소에 있는지 확인해야합니다. 그들 모두가 거기에 있는지 확인하십시오. 유리한 설명 : http://stackoverflow.com/a/10971742/2542027 – Multithreader
글래스 피쉬에서,'request.setCharacterEncoding()'은 GET 쿼리 문자열에 전혀 영향을 미치지 않습니다. POST 요청 본문에만 영향을 미칩니다. 내가 아는 한 JBoss AS> = 7은 GET 쿼리 문자열의 디코딩에 동일한 POST 요청 본문 인코딩을 사용하도록 'standalone.xml'을 통해 구성 할 수있는 유일한 서버입니다. 하지만 다른 모든 것들은 별도로 명시 적으로 구성해야합니다. 따라서 POST 요청 본문 인코딩을 변경하면 GET 쿼리 문자열 디코딩에 영향을 미친다는 귀하의 질문은 다소 의심 스럽습니다. 당신은 정말로 올바른 관찰을 했습니까? – BalusC