각진 세상에 둥근 춤을 추자

[JSP] Eclipse - Servlet3: 출력 형식 이해 (한글 깨짐 해결) 본문

JSP

[JSP] Eclipse - Servlet3: 출력 형식 이해 (한글 깨짐 해결)

circle.j 2022. 10. 23. 20:53

 

 

 

(이전 게시글)

2022.10.23 - [JSP] - [JSP] Eclipse - Servlet2: Annotation URL 매핑

 

[JSP] Eclipse - Servlet2: Annotation URL 매핑

[이전 게시글] 2022.10.23 - [JSP] - [JSP] Eclipse - Servlet 1: 프로그램 [JSP] Eclipse - Servlet 1: 프로그램 1. 프로젝트 폴더 만들기 앞으로 서블릿에 대해 공부할 프로젝트용 폴더를 생성한다. (1) 왼쪽 [..

this-circle-jeong.tistory.com

 

[해결 solution]

 

// 인코딩 방식 지정
response.setCharacterEncoding("UTF-8");

// 받는 Content Type 지정 (html 문서, UTF-8로 읽어라!)
response.setContentType("text/html; charset=UTF-8");

 

 


 

 

(Nana.java)

package com.circle.web;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


@WebServlet("/hi")
public class Nana extends HttpServlet {
	
	@Override
	public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		PrintWriter out = response.getWriter();
		
		for(int i=0; i<10; i++) {
			out.println((i+1)+": 안녕 Hello Servlet! <br/>");
		}
		
	}
}

 

실행 결과, 한글이 깨진 형태로 출력이 된다. 

 

 

 

(1) Nana.java에 인코딩 방식을 설정한다.

// 인코딩 방식 지정
response.setCharacterEncoding("UTF-8");

 

실행 결과, ?댐뀞으로 출력된다.

 

 

(2) ContentType 설정 

서버에서 클라이언트로 전송할 때 받는 유니코드 방식도 설정해 주어야 한다. 

// 받는 Content Type 지정 (html 문서, UTF-8로 읽어라!)
response.setContentType("text/html; charset=UTF-8");

 

 

실행 결과,