2013-08-05 1 views
1

내 서블릿에 메시지를 보내도록 Kannel을 구성했습니다. URL은 다음과 같다 :서블릿의 입력 매개 변수를 기반으로 인코딩을 변경하는 중

http://10.10.10.10/income/Submit?from=%p&to=%P&content=%a&encoding=%C 

문제는 encoding는 페르시아어 메시지 영어 메시지 UTF-8UTF-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를 컨테이너로 사용하고 있습니다.

+0

사실, 'UTF-8'이 3 개 장소에 있는지 확인해야합니다. 그들 모두가 거기에 있는지 확인하십시오. 유리한 설명 : http://stackoverflow.com/a/10971742/2542027 – Multithreader

+0

글래스 피쉬에서,'request.setCharacterEncoding()'은 GET 쿼리 문자열에 전혀 영향을 미치지 않습니다. POST 요청 본문에만 영향을 미칩니다. 내가 아는 한 JBoss AS> = 7은 GET 쿼리 문자열의 디코딩에 동일한 POST 요청 본문 인코딩을 사용하도록 'standalone.xml'을 통해 구성 할 수있는 유일한 서버입니다. 하지만 다른 모든 것들은 별도로 명시 적으로 구성해야합니다. 따라서 POST 요청 본문 인코딩을 변경하면 GET 쿼리 문자열 디코딩에 영향을 미친다는 귀하의 질문은 다소 의심 스럽습니다. 당신은 정말로 올바른 관찰을 했습니까? – BalusC

답변

1

채널에서 smsbox 그룹에 mo-recode을 1로 설정할 수 있습니다. 이렇게하면 Kannel이 HTTP 서비스로 보내기 전에 텍스트 MO 메시지를 UTF-8 문자 세트로 자동 변환하도록 지시합니다.

Kannel이 iconv 지원으로 빌드되었는지 확인하십시오.

관련 문제