개발공작소
article thumbnail
728x90

 

 

 

.js파일을 <%@include file = "...." %>을 통해서 가져오는데

한글이 깨지는 현상이 발생했다.

 

 

testJSP.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<div>하하하</div>
</body>
<script>
	<%@include file="/WEB-INF/jsp/testJSP/testJs1.js" %>
</script>
</html>

 

testJs1.js

// 텍스트를 생성해 태그를 생성한뒤, <body> 태그에 부탁하는 스크립트문 작성
let script = document.createElement('h1');
let txt = document.createTextNode('testJs1을 호출하였습니다.');
script.appendChild(txt);
document.body.appendChild(script);

 

 

결과

 

<div>안에 있는 "하하하"는 제대로 찍히는데, include를 통해 가져온 js에서 생성한 <h1>은 한글이 깨진다..

 

결국 문제는 인코딩이 맞지 않는 건데.. .jsp에서는 UTF-8 인코딩을 사용하고 있다.

그럼 .js 파일을 UTF-8로 맞춰주면 된다. 간단하다. 해당 .js 파일을 열어 다른이름으로 저장하면서 인코딩을 변경해서

저장해주면 된다.

 

메모장으로 열자
인코딩을 UTF-8로 변경

 

저기 보면 UTF-8이 2종류가 있는데, 왜인지는 모르겠지만, 그냥 UTF-8은 안되고 UTF-8(BOM)으로 바꾸니 된다.

둘 중 되는 녀석으로 변경한 뒤 저장을 하고, 프로젝트를 새로고침(중요!) 한 뒤 다시 .js를 호출해보자.

 

잘뜬다.

 

 

 

 

728x90
profile

개발공작소

@모찌바라기

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!