카테고리 없음

관공서 프로젝트 - 한글 깨질 때 encoding 설정 방법

vamosdev12 2025. 12. 4. 14:09

 

관공서 프로젝트

 

 

exlipse로 인터페이스 수정 작업을 진행하게 되었다.

그런데 일부 파일 내에 한글들이 전부 "���꿿" 과 같은 이상한 문자형태로 깨져있었다.

 

우선 eclipse의 기본 설정값을 확인해보자.

 

Window > Preferences > Genereal > Content Types > Text > Java Source File

 

Default encoding*은  UTF-8로 되어있었다.

⭐ 인코딩(Encoding)이란?
“문자를 컴퓨터가 이해할 수 있는 숫자(바이트)로 바꾸는 규칙”
또는 “숫자(바이트)를 어떤 문자로 해석할지 결정하는 약속”

기본적으로 한글은 UTF-8로 하면 깨진 것이 복구된다고 생각했는데, 왜 깨져있는 거지?

 

그런데 다시 보니 내가 작업하려는 파일은 다른 파일들과 다르게 .java가 아닌 .js(JavaScript)였다.

그리고 내용을 보니 JQuery*로 작업된 문서였다.

Backend가 Java로만 작성되는게 아니구나.

 

결론: js로 작성된 문서는 MS949(또는 EUC-KR)로 encoding해야한다.

- Other 선택 후 "MS949" 을 선택하면 된다. 만약 목록에 "MS949"이 없다면 직접 적어줄 수 있다.

 

관공서 프로젝트의 많은 파일들은 예전에 작성된 것들을 크게 건드리지 않고 계속 가져온 경우가 많다.

현재는 국제 표준인 UTF-8을 대부분 사용하지만,

국내의 과거 레거시 시스템에서는 거의 MS949로 작성되었다고 한다.

이는 10년 이상 된 공공/금융/기관 시스템에서 흔하다.

거기에 새로 만들어진 소스 파일들은 자동으로 UTF-8로 인코딩되게 되어서

한 프로젝트 내에 다르게 encoding된 파일이 존재하게 된 것이다.

 

그렇다면 예전에 작성된 코드는 왜 js(JQuery)로 되어 있었을까?

✔ jQuery는 “JavaScript 문법을 쉽게 쓰게 해주는 라이브러리”
document.getElementById() 같은 긴 코드 대신 $('#id') 처럼 짧게 쓰게 해줌.
핵심 기능:
- DOM(HTML 요소) 쉽게 선택/조작
- 이벤트 처리(click, change 등)
- 간편 AJAX 통신 간단하게 처리
- 애니메이션 제공 브라우저 간 호환성 문제 해결

 

2000~2015년 사이 웹개발의 표준은 jQuery였다고 한다.

그 당시는 브라우저마다 JS 동작이 달랐고, 순수 JS로 UI를 만들기 불편했다.

이를 보완해준 것이 jQuery였고, 그 당시 전 세계 웹의 70% 이상이 jQuery로 작성될 정도였다고 한다.

그래서 결국 해당 프로젝트 내의 .java 파일은 UTF-8로, .js는 MS949로 encoding된 것이었다.