강의 컨설팅 트레이닝 무료진단 무료책자 마케팅편지 마케팅정보공유 다이어리 서비스제휴 고객센터

[ JSP ] 브라우저 인코딩이 자동으로 한글이 안되는 경우 해결법
작성자 : 99 단국강토
등록날짜 : 2009.01.02 09:45
3,049

# 브라우저 인코딩이 자동으로 한글이 안되는 경우 해결법

 

euc-kr 이나 ksc5601 을 사용할 경우 브라우저의 한글은 잘 나온다.

대신 확장한글을 표시할 수 없어서 ?? , ?d , ?? 같은 글자는 ? 로 깨어져 나온다.

소스보기를 해도 깨진 상태 그대로다.

MS949 를 사용하면 확장한글이 제대로 소스보기에 나오지만 브라우저의 인코딩이 한글
이 아닌 서유럽 (ISO) 로 자동지정되어서 마우스 오른버튼 메뉴의 인코딩을 통해서
한글로 재지정하는 등의 불필요한 작업이 필요할 경우가 종종 있다.

이런 문제의 원인은 Tomcat 의 jsp를 servlet으로 변환하는 과정에서 @page 의
contentType 속성에 지정한 charset 의 인코딩이 적용되기 때문에 euc-kr 이나
ksc5601의 경우 client 로 보내지는 소스 중의 확장한글이 깨어지며, MS949 의 경우
서버쪽에서 확장한글의 처리는 잘 하지만 브라우저에서 소스를 받을 때 header 의
Content-type 이 브라우저가 인식하는 인코딩을 벗어날 경우 Latin-1(ISO-8859-1) 로
자동지정하기 때문이다.

MS949 라는 인코딩은 Cp949 라고도 표현되며  MS 운영체제에서 지원하는 통합
완성형을 지원한다.

대략 짐작을 했겠지만 이 두 가지 문제점의 해결 방법은 다음과 같다.

서버쪽 한글처리는 MS949 로 정하고, 브라우저의 한글처리는 ksc5601, euc-kr 등으로
한다. 즉 서버쪽은 @page 의 contentType 속성을 charset=MS949 로 <head> 태그 내의
<meta> 태그에서 Content-type 의 값을 charset=ksc5601 로 주면 브라우저쪽의
한글처리를 마무리지을 수 있다.

코드는 다음과 같다.

 

<%@ page contentType="text/html;charset=MS949" %>
<html>
<head>
<META HTTP-EQUIV="Content-type"
CONTENT="text/html;charset=ksc5601">
    <title>한글 인코딩</title>
</head>
<body>
"맛있는 케??"에서 "케??"은 표준어가 아닙니다. 표준어는 "케이크" 입니다.
</body>

</html>

 

[참고]

 

korea.internet.com 의 HTML에서의 문자 집합
http://korea.internet.com/channel/content.asp?nid=22838&cid=187#start 

 

자바토피아 이창훈님 글
http://okjsp.pe.kr/bbs?act=VIEW&bbs=docs&seq=24333&pg=0 

출처:http://okjsp.pe.kr

"쇼핑몰·홈페이지·오픈마켓
블로그·페이스북·이메일 등의 각종 마케팅 글쓰기,
각종 광고, 영업, 판매, 제안서, 전단지
반응율 3배×10배 이상 높이는 마법의 8단계 공식"
자세히보기

Comments

번호 제목 글쓴이 날짜 조회
열람중 [ JSP ] 브라우저 인코딩이 자동으로 한글이 안되는 경우 해결법 99 단국강토 01.02 3050
3074 [ JS ] 버튼을 이용한 이미지 넘기기 ( 이미지 리스트 ) 99 단국강토 01.02 2746
3073 [AJAX] 자바스크립트에서 XML 파일 읽어 오기 99 단국강토 12.30 2863
3072 [AJAX] DOMDocument 에서 selectSingleNode 을 이용한 XML 노드 (Node) 찾기 99 단국강토 12.30 2778
3071 [ JS , AJAX ] DOM 크로스브라우징 : 원하는 노드 찾기 [ createDocument , DOMDocument ] M 최고의하루 12.26 2525
3070 외부링크 금지하는 방법 M 최고의하루 12.26 2630
3069 오늘 하루 창 열지 않기 M 최고의하루 12.24 2785
3068 DLL화일 레지스트리에 등록 또는 삭제 하기 M 최고의하루 12.24 2798
3067 팝업창 닫고 프레임이 있는 부모창에서 원하는 페이지로 이동하기 M 최고의하루 12.23 5284
3066 [펌] 제11강 - ADO(Active Database Object) - Database Access Component Cobol vs C#-2 M 최고의하루 12.23 2418
3065 [펌] 제11강 - ADO(Active Database Object) - Database Access Component Cobol vs C#-1 M 최고의하루 12.23 9482
3064 [펌] 제12강 - 방명록 만들기 I M 최고의하루 12.23 5101
3063 [펌] 제13강 - 방명록 만들기 II M 최고의하루 12.20 4521
3062 [펌] 제14강 - 방명록 만들기 III M 최고의하루 12.20 2658
3061 [펌] 제15강 - 방명록 만들기 IV M 최고의하루 12.19 2575
3060 [펌] 제16강 - 방명록 만들기 V M 최고의하루 12.19 2338
3059 제17강 - 방명록 만들기 VI M 최고의하루 12.18 2418
3058 [펌] 제18강 - 방명록 만들기 VII M 최고의하루 12.04 2537
3057 아작스관련 코드 링크들 M 최고의하루 12.04 2603
3056 배열 사용 13 김영철 01.14 2928
3055 [엑셀과 mysql의 데이터이동] 13 김영철 01.14 3152
3054 액티브X IE 패치에 따른 자동 자바스크립트 출력 소스 (회피법) 13 김영철 01.14 2077
3053 익스플로러(IE)플러그인ActiveX액티브엑스활성화특허침해에따른 설계변경패치에대한 개발코딩간편변경방법 13 김영철 01.14 3369
3052 PHP has encountered an Access Violation at 에러 구문 13 김영철 01.14 2770
3051 PHP.INI 설정에 따른 변수 이름 바꾸기 13 김영철 01.14 3183
3050 휴대폰 하이픈 처리 함수 13 김영철 01.14 2757
3049 POST , GET 으로 변수 전달 안될때 13 김영철 01.14 3157
3048 라이오 버튼 디버깅용 체크여부 확인 13 김영철 01.14 3195
3047 특정부분만 프린트하기 13 김영철 01.14 2841
3046 위지에디터 모음 13 김영철 01.14 2608
마케팅
특별 마케팅자료
다운로드 마케팅자료
창업,경영
기획,카피,상품전략
동기부여,성취