iWiz ShareBase

IT Specialist 윤태현의 iWiz ShareBase는 IT뿐 아니라 각종 잡다한 지식들을 함께 나누는 지식공유 커뮤니티입니다.

iWiz,ShareBase,윤태현,Java,JSP,EJB,IT,정보기술,웹프로그래밍,PHP,ASP,DBMS,MySQL,서버,네트워크,server,network,WAS,웹애플리케이션,블로그,blog,웹서버,DB,오라클,oracle,mysql,JRun,웹로직,톰캣,tomcat,아파치,자동차,EF쏘나타,로또 6/45

갤러리 Pixelgrapher.com | 로또 6/45 번호생성 및 통계 데이터 | 전체기사보기 | 전체글 #1 | 전체글 #2 | 전체글 #3 | 전체글 #4 | 전체글 #5 | 전체글 #6 | 전체글 #7 | 전체글 #8 | 전체글 #9 | 전체글 #10 |
HOME iWiz
ShareBase
Remember 0523 & 0818
지식은 나눌수록 커집니다 - iWiz's ShareBase
웹프로그래밍(기타) PHP, ASP, Perl, CGI 등 각종 웹프로그래밍에 관한 자료들입니다.


  iWiz(2004-01-04 22:36:41, Hit : 8537, Vote : 28
 http://www.wz.pe.kr

한 JSP 페이지내에서 분기에 따른 다국어 지원


한 JSP 페이지 내에서 여러개의 언어를 지원해야할 때 사용할 예제코드입니다.
아래 예제는 5개의 Charset을 지원하며, colang 파라미터 값에 의해 출력할 언어가 결정됩니다.

  • 1 : 한국어
  • 2 : 영어
  • 3 : 일본어
  • 4 : 중국어
  • 기타 또는 지정안됨 : 유니코드

<%@ page pageEncoding="euc-kr" session="false" import="java.util.*, smipc.util.*"
%><%
    String sCoLang = SmeString.convNull(request.getParameter("colang"), "");
    String sConType, sMsg;
    if (sCoLang.equals("1")) {
        sConType = "text/html; charset=euc-kr";
        sMsg = "한글메시지";
    } else if (sCoLang.equals("2")) {
        sConType = "text/html; charset=iso-8859-1";
        sMsg = "ISO-8859-1 Message";
    } else if (sCoLang.equals("3")) {
        sConType = "text/html; charset=shift_jis";
        sMsg = "SHIFT-JIS Message";
    } else if (sCoLang.equals("4")) {
        sConType = "text/html; charset=gb2312";
        sMsg = "gb2312 Message";
    } else  {
        sConType = "text/html; charset=utf-8";
        sMsg = "UTF-8 Message";
    } // if
    response.setContentType(sConType);
%>
<html>
<head>
  <meta http-equiv="Content-Type" content="<%=sConType%>">
  <title><%=sMsg%></title>
</head>
<body>
<h1><%=sMsg%></h1>
</body>
</html>

위의 코드에서 주의하실 점은 %>와 <% 사이에 일체 공백이나 Line Break 등이 없다는 점입니다.  왜냐하면 response.setContentType에 의해 브라우져에 헤더가 날아가기전에 일체의 HTML 본문 내용이 보내져서는 안되기 때문입니다. (JSP를 비롯한 ASP, PHP 등의 스크립트 언어에서는 %>와 <% 같은 스크립트렛 기호 사이의 공백이나 개행문자 등도 HTML 컨텐츠의 일부로 인식합니다.)

그리고 가장 윗줄의 Page Directive에서도 Content-Type을 지정하지 마시고, 코드 내에서 response.setContentType 메소드를 이용해 한번만 Content-Type을 지정해주십시오.  그리고 확실한 처리를 위해 동일한 Content-Type을 html 메타 태그에서도 한번 지정해주시구요.

또 한가지, 다른 언어셋으로 된 문자열을 response 시키면 안됩니다.  예컨데 shift-jis 캐릭터셋 상태에서 sMsg 변수의 값을  "한글"로 지정해놓은 후 이 변수를 화면에 출력하면 변환이 불가능하므로, 에러가 납니다.  즉, 아래와 같은 케이스는 Exception을 발생시킬 확률이 높습니다.

response.setContentType("shift-jis"); // 페이지 character set을 shift-jis(일본어)로 지정
sMsg = "한글";
out.println(sMsg); // 한글로 된 메시지를 출력

* iWiz님에 의해서 게시물 이동되었습니다 (2010-02-03 16:57)



62   mod_throttle 모듈을 이용한 사용자 트래픽 제어  iWiz 2006/06/22 8850 0
61   Tomcat-Apache using JK2 connector  iWiz 2004/03/21 6140 41
60   RedHat 9.0에서의 JRun JSP 컴파일러의 문제점  iWiz 2004/01/04 5329 50
59   RedHat 9.0에서의 JRun-Apache 커넥터의 문제점  iWiz 2004/01/04 5021 48
58   JRun 4.0의 튜닝 관련 옵션  iWiz 2004/01/04 5758 68
57   JRun 4.0의 Activity 모니터링 방법  iWiz 2004/01/04 4736 57
56   JRun4.0: DataSource 커넥션풀 관련 옵션 [4]  iWiz 2004/01/04 6487 46
55   JRun에서 JSP 컴파일시 java 파일 생성하기  iWiz 2004/01/04 7735 63
54   JRun의 실제 서비스 운영시 고려사항  iWiz 2004/01/04 6127 44
53   수정된 인터넷 익스플로러에서 상호작용 ActiveX 컨트롤 활성화 가이드  iWiz 2006/03/03 8144 4
52   HTML 특수기호 엔터티(Entity) 테이블 [2]  iWiz 2006/03/03 13815 2
51   웹사이트의 새로운 혁명 Ajax [13]  iWiz 2005/11/22 5663 6
50   MSN 메신저 친구 자동등록 스크립트  iWiz 2004/10/12 6029 35
49   JavaScript MD5 해쉬 생성 함수  iWiz 2004/01/07 8819 35
48   JavaScript로 만든 진법변환 및 보수계산기 [4]  iWiz 2004/01/04 156478 51

1 [2][3][4][5]
 

Copyright 1999-2023 Zeroboard / skin by zero
iWiz ShareBase, ⓒCopyleft by iWiz.  For more information contact .
본 웹사이트에 게시된 이메일 주소가 전자우편 수집 프로그램이나 그 밖의 기술적 장치를 이용하여 무단으로 수집되는 것을 거부하며, 이를 위반시에는 정보통신망법에 의해 형사처벌됨을 유념하시기 바랍니다. [게시일 2004. 1. 31]