Skip to content
DarkKaiser의 블로그
DarkKaiser의 블로그
  • 개발 관련 자료(노션)
  • Raspberry Pi(노션)
  • WD My Cloud(노션)
  • GitHub
DarkKaiser의 블로그

UTF-8 개발환경 만들기

DarkKaiser, 2011년 7월 7일2023년 9월 5일

1. 통합빌드 서버의 기본 인코딩을 UTF-8로 설정.
우분투를 통합빌드 서버로 쓴다면 기본이 UTF-8이니 별 문제는 없겠다.

2. 빌드 서버에 접속할 telnet/ssh 터미널 프로그램에서 UTF-8 사용.
옛날 터미널 중에는 UTF-8을 미지원 하는 게 많은 것 같다. 찾아본 결과 UTF-8을 지원하는 터미널은 다음과 같다.
* PuTTY
설정의 Window > Translation 으로 들어가서
Received data assumed to be in which character set 옵션을 UTF-8 로 변경.
PuTTY 다운로드 : http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
* TeraTerm (4.60 이후 버전)
Setup > General… > Language 에 Korean 설정.
Setup > Terminal… 으로 들어가서 아래 쪽에 locale: korean / CodePage: 949 입력.
TeraTerm 다운로드 : http://en.sourceforge.jp/projects/ttssh2/releases/

3. 이클립스 기본 인코딩 환경을 UTF-8로 설정.
이클립스의 기본 인코딩은 시스템 인코딩에 따르기 때문에 한글 윈도우의 경우 MS949 이다. 이것을 UTF-8로 설정해 주면 된다.
* 이클립스 메뉴 Windows > Preferences
왼쪽 위 검색창에 encod 라고 타이핑 후 왼쪽 메뉴 중 아래 메뉴의 Encoding 옵션을 변경.
* General > Workspace : Java 파일을 비롯한 기본 인코딩
* Web > CSS Files, HTML Files, JSP Files : 웹 관련 각각 파일 타입 별 인코딩
* XML > XML Files : XML은 기본 값이 UTF-8이니 변경할 필요는 없다.
이렇게 변경하면, 새 프로젝트를 만들 때 UTF-8로 생성된다.

4. 이클립스 프로젝트 인코딩을 UTF-8로 설정.
기본을 UTF-8로 변경했더라도 팀에서 설정을 깜빡한 채 체크아웃 받을 수도 있는 팀원을 위해 프로젝트 마다 인코딩 기본값 말고 명시적으로 설정해 주는게 좋다.
* 이클립스 메뉴 Project > Properties
Resource > 에서 Text file encoding 을 Other로 선택하고 UTF-8 로 변경.
여기서 변경하면 프로젝트 안에 .settings/org.eclipse.core.resources.prefs 파일 내용에 UTF-8 로 명시된다. (기본 패키지 익스플로러에서는 .settings 폴더가 안 보이는데, View Menu(▽모양)의 Filters… 에서 *.resources 체크를 해제하면 볼 수 있다)
* 혹시나 기존에 MS949 로 작성된 프로젝트에 한글로 쓰여진 파일이 있다면 파일의 인코딩을 변환해 주어야 한다. EUC-KR과 UTF-8 상호 변환해주는 유틸리티를 구해서 이용하거나( http://jinmoda.tistory.com/228 ), 직접 프로그램을 만들어서 변환해도 된다. 한 두페이지 정도라면 프로젝트 설정 변경 전에 메모장에 copy 했다가. 설정 변경 후 다시 paste 해도 된다;;

5. 메이븐을 쓰는 경우 pom.xml 에 컴파일 인코딩을 UTF-8로 설정.
maven-compiler-plugin 의 <encoding> 속성에 UTF-8을 명시해야 한다는 건 대부분의 사람이 알 것이다.
추가로 site reporting 을 이용한다면, maven-pmd-plugin 과 javancss-maven-plugin 의 <sourceEncoding> 속성에도 명시해야 한다.
인코딩 설정이 메이븐 플러그인 여러 곳에 퍼져 있는 것이 거슬리면, JDK version과 함께 상단에 <properties> 태그에 등록해 두면 편리하다. (maven-pmd-plugin 에서도 JDK 버전을 요구한다)

...생략...
 <properties>
  <encodingtype>utf-8</encodingtype>
  <jdkversion>1.6</jdkversion>
 </properties>
...생략...
    <plugin>
     <artifactId>maven-compiler-plugin</artifactId>
     <configuration>
      <encoding>${encodingtype}</encoding>
      <source>${jdkversion}</source>
      <target>${jdkversion}</target>
     </configuration>
    </plugin>
...생략...
eclipse

글 내비게이션

Previous post
Next post

답글 남기기 응답 취소

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

최신 글

  • AssertJ 소개testCompile ‘org.assertj:assertj-core:3.6.2’ 2017년 9월 14일
  • 자주 사용되는 Lombok 어노테이션 2017년 9월 14일
  • 유니코드 #3 2017년 9월 14일
  • 유니코드 #2 2017년 9월 14일
  • 유니코드 #1 2017년 9월 14일

최신 댓글

    카테고리

    • 개인 자료 (1)
      • 일기 (1)
    • 주절주절 (7)
    • 프로그래밍 갤러리 (16)
    • 프로그래밍 언어 (186)
      • Java (29)
      • C/C++/VC++ (114)
      • C# (11)
      • Visual Basic (6)
      • 안드로이드 (9)
      • Objective-C (5)
      • JavaScript (4)
      • JSP/Servlet (2)
      • Python (4)
      • 어셈블러 (1)
    • 개발++ (44)
      • Book (11)
        • Joel On Software (10)
      • 프로젝트 관리 (6)
      • Maven (1)
      • 디버깅 (1)
      • DirectX (1)
      • Silverlight (1)
      • RESTful (1)
      • Hacking (1)
      • WDM (4)
      • VoIP (5)
      • 기타 (1)
    • 개발 도구 (15)
      • eclipse (14)
      • Sublime Text (1)
    • 네트워크 (7)
    • 설치 및 배포 (7)
      • InstallShield (2)
      • NSIS (4)
    • 버전 관리 (9)
      • Git (2)
      • CVS (2)
      • Subversion (5)
    • 데이터베이스 (7)
      • Oracle (3)
      • Sybase (2)
      • MS-SQL (2)
    • 단위테스트 (3)
      • JUnit (1)
      • NUnit (2)
    • 버그추적시스템 (2)
      • mantis (2)
    • 운영체제 (7)
      • Windows (5)
      • 리눅스 (2)
    • WAS (3)
      • WebLogic (3)
    • 디자인패턴 (1)
    • 디지털 이미지 프로세싱 (16)

    태그

    Abstract ActiveX AfxParseURL Automation boost devenv.exe event EventLogTraceListener Hover interface IO iTextSharp JAD jar JavaScript Joel Leave MFC Monitor msdev.com MSDN mutable PDF Properties RAW Saturation SHGetFolderPath SHGetKnownFolderPath SQLite STLTask String TextWriterTraceListener URL VI 권한 데이터소스 디컴파일러 문자열 스레드 동기화 스레드 생성 실용주의 프로그래머 자동화 테스팅 파일포맷 프리컴파일

    메타

    • 로그인
    • 엔트리 피드
    • 댓글 피드
    • WordPress.org
    ©2025 DarkKaiser의 블로그 | WordPress Theme by SuperbThemes