2011-02-17 3 views
1

저는 현재 Struts 프레임 워크를 사용하여 이중 언어 응용 프로그램 (영어 및 아랍어) 작업을하고 있습니다.이중 언어 응용 프로그램 스트럿츠 프레임 워크를 지원합니다.

내 응용 프로그램은 현재 영어 문자를 지원하도록 작성되었습니다.

이제 Tomcat 6 환경에서 JSP 페이지에 UTF-8 인코딩 된 문자를 게시하고 읽으려고합니다.

그래서 모든 것들이 jsp 페이지와 액션 클래스에 기본으로 설정되어 있습니다.

내 JSP 페이지에서 내 액션 클래스

  `request.setCharacterEncoding("UTF-8"); 
    response.setCharacterEncoding("UTF-8"); 
    response.setContentType("UTF-8");` 

이 설정 한 : <%@page pageEncoding="UTF-8"%> <%@page language="java" contentType="text/html;charset=UTF-8"%>

그래서 난 내 JSP 페이지에 아랍어 문자를 게시하려고 할 때, 그것은 정크 문자를 표시합니다.

어떻게 수정합니까? 아랍어 또는 중국어 문자를 지원하기 위해 내가해야 할 일이 있습니까?

또한 사용자가 애플리케이션을 채우면 데이터베이스를 사용하여 양식을 저장합니다. 사용자는 영어 또는 arablic을 사용하여 양식을 채울 수 있습니다.

어떻게해야합니까?

+0

나는 이제 jsp 페이지에 문자를 게시 할 수 있습니다. 이것은 내가 JSP 페이지에 문자열을 게시하기 전에했던 일이다. String str = (일부 중국어 문자) string newString = new String (str.getBytes(), "UTF-8"); 하지만 나는 response.setCharacterEncoding ("UTF-8")을 설정 한 후 내 액션 클래스가 나를 위해 그것을 할 것이라고 생각했다. 그것을 할 수있는 더 좋은 방법이 있습니까? 비록 내가 양식에서 중국어 문자를받을 때 여전히 문제가 있습니다. 내가 UTF - 8 explicity로 변환해야 할 수도 있지만 더 나은 방법이있을 것 같아요 .. – ananth85

답변

2

UTF-8을 POST 양식으로 사용하려면 두 가지 작업 만 수행하면됩니다. JSP의 상단에

넣고이 : 전에 액션 클래스를 실행하는 Filter에 넣고

<%@ page pageEncoding="UTF-8" %> 

.

request.setCharacterEncoding("UTF-8"); 

조치 클래스 내부에서이를 수행하는 것은 이미 너무 늦었을 수 있습니다. 앞에 또는 사용자 또는 모든 MVC 프레임 워크에서 요청 매개 변수를 수집해야합니다.

+0

다음 문제는 어떻게 문자를 표시하는 방식입니다. 어떻게 그들을 표시하고 있습니까? 이 기사는 그 중 하나를 직선으로 만드는 데 도움이 될 수 있습니다. http://balusc.blogspot.com/2009/05/unicode-how-to-characterers-right.html – BalusC

+0

@BalusC : 필터 클래스를 추가하고 매핑했습니다. 또한 web.xml에서 나는 t0 UTF-8로 인코딩 된 페이지를 가지고있다. 이제는 name, city와 같은 양식 요소를 데이터베이스에 추가하려고합니다. 내 작업 클래스에서 나는 form.getName()에 의해 값을 얻고 유니 코드 문자 배열과 비교합니다. 이렇게하려면 먼저 form.getName을 newString str = new String (form.getName(). getBytes(), "UTF-8")을 사용하여 UTF로 명시 적으로 변환해야합니다. 내가 form.getname()을 인쇄 할 때 인쇄할까요? ???? – ananth85

+0

도와 주셔서 감사합니다. BalusC .. 일하고있는 것 같습니다. – ananth85

관련 문제