한국어

네트워킹

온누리070 플레이스토어 다운로드
    acrobits softphone
     온누리 070 카카오 프러스 친구추가온누리 070 카카오 프러스 친구추가친추
     카카오톡 채팅 상담 카카오톡 채팅 상담카톡
    
     라인상담
     라인으로 공유

     페북공유
    
     PAYPAL
     
     PRICE
     

pixel.gif

    before pay call 0088 from app


수치 처리기인 컴퓨터에서 숫자(2진수)와 문자를 서로 대응시키기 위해서는 문자 집합을 만들고 이를 코드화해야 합니다.  여기서 얘기하는 문자는 키보드 상에 새겨진 알파벳, 세계 각국의 문자, 숫자, 특수문자 뿐만 아니라 기타 제어 문자를 포괄합니다. 

이렇게 만들어진 문자 집합을 코드화된 문자 집합(CCS, coded character set)이라고 합니다.
ASCII(미국 표준), ISO 8859-1(서유럽 언어), ISO8859-2(중앙 유럽 언어), EUC-KR(행정용 한글), CP949(MS-949, MS社 한글), 유니코드, ... 등등 다양한 인코딩 방식이 있습니다. 참고로 EUC-KR은 2,350자의 한글, CP949는 11,172자의 한글을 표현할 수 있습니다.

전 세계적으로 사용되는 모든 문자 집합을 모아 탄생시킨 것이 유니코드 입니다. 유니코드 값을 나타내기 위해서는 코드 포인트(code point)를 사용하는데, 보통 U+를 붙여 표시합니다. 유니코드의 인코딩 방식으로는 코드 포인트를 코드화한 UCS-2와 UCS-4, 변환 인코딩 형식(UTF, UCS Transformation Format)인 UTF-7, UTF-8, UTF-16, UTF-32 인코딩 등이 있다. 이 중 ASCII와 호환이 가능하면서 유니코드를 표현할 수 있는 UTF-8 인코딩이 가장 많이 사용됩니다.

한글 윈도우는 CP949(MS949)가 기본 인코딩입니다. 리눅스는 LANG 환경 변수에 따라 EUC-KR(ko, ko_KR, ko_KR.eucKR)과 UTF-8 인코딩 방식을 사용합니다. 한글이 깨지는 주요 원인은 한글 윈도우와 리눅스에서 사용하는 코드화된 문자 집합이 서로 다르기 때문입니다.  이렇게 서로 인코딩 방식이 달라서 생기는 몇가지 문제의 해결 방법을 알아 보겠습니다.

아래의 내용은 모두 리눅스의 로캘(locale)이 UTF-8이라고 가정하고 설명되었습니다.
확인은 터미널에서 echo $LANG 또는 locale 명령으로 확인 가능합니다.
출력 결과:
LANG=ko_KR.UTF-8


1. ZIP 압축 파일의 한글 깨짐

터미널에서 압축을 풀 때 문자 인코딩 옵션(대문자 O)을 직접 지정해 줍니다.

$ unzip -O cp949 <압축파일.zip>

이런 식으로 매번 옵션을 사용하면 매우 번거롭죠. 번거로움 없이, 파일 관리자의 "여기에 풀기"에서도 사용하려면  /etc/profile (모든 사용자용) 또는 ~/.profile (현재 사용자용) 에 추가적인 설정이 필요합니다.

편집기(gedit, pluma, nano)로 파일을 열고
$ gksu gedit /etc/profile

또는
$ gedit ~/.profile

파일의 맨 끝에 아래 문장을 추가하고 저장합니다.

## Zip 압축 해제시 기본 인코딩을 CP949로 지정
export UNZIP="-O cp949"
export ZIPINFO="-O cp949"

로그아웃-로그인하고 zip 압축 파일을 풀어보면 한글이 정상적으로 잘 보입니다. 하지만, 이런 식으로 프로파일에 기본 인코딩 옵션을 지정하면 한글 윈도우에서 압축한 것이 아닐 때(다른 인코딩일 경우) 깨진다고 하네요.

한글 윈도우에서 zip 대신에 rar로 압축하고 리눅스에서 풀어 보면 파일명과 텍스트의 한글이 잘 보입니다.  아마도 압축 파일 내부에 문자 인코딩 정보를 가지고 있는듯 합니다. 7zip도 문제가 없다고 하는데 사용을 안 해봐서 모르겠네요. 7zip이 좋다고 하네요. 가능하면 zip 대신에 rar, 7z를 사용하는게 좋겠습니다.


2. 텍스트 파일의 한글 깨짐

gedit의 "파일 열기" 대화 상자에서 하단에 위치한 문자 인코딩을 "한국어(UHC)"로 선택하고 열기합니다.

저장은 "다른 이름으로 저장" 대화 상자에서 하단에 위치한 "문자 인코딩: 로캘(UTF-8), 줄 바꿈: 유닉스/리눅스"로 선택하고 저장합니다.


3. 인터넷에서 받은 파일명이 깨짐

파이어 폭스로 파일을 받다보면 %로 시작되면서 영어 대문자 조합으로 된 파일명이 있습니다.
(그런데 같은 파일을 크롬이나 오페라로 받으면 자동 변환되어 정상적이네요.)

예를 들면 이런 식으로요.
%EC%84%B8%EA%B3%84%EA%B2%AC%EB%AC%B8%EB%A1%9D

파일의 이름이 이와 같으면  URL 디코딩이 필요합니다.

방법 1) 아래의 웹 페이지에서 디코딩하세요. (URL, Decode, UTF-8 체크)



방법 2) 구글의 웹 스토어에서 '유니코드 변환기'라는 확장 프로그램을 설치해 보세요.

메뉴 표시(작대기3개) > 도구 더 보기 > 확장 프로그램 > 더 많은 확장 프로그램 다운로드를 클릭합니다.
웹 스토어가 열리면 "유니코드"를 검색하고 거시기 확장 프로그램을 설치합니다. 

사용 방법은 브라우저의 우측-상단 구석에 있는 유니코드 변환기 아이콘을 누르고 Percent encoding for URIs 입력란에 파일명을 붙여 넣고 변환하시면 됩니다.


방법 3)  터미널 명령으로도 URL 디코딩이 가능합니다.

## 별칭(에일리어스alias) 지정 및 확인
$ alias urldecode='python -c "import sys, urllib as ul; print ul.unquote_plus(sys.argv[1])"'
$ alias

## urldecode 사용법
$ urldecode %EC%84%B8%EA%B3%84%EA%B2%AC%EB%AC%B8%EB%A1%9D

터미널을 닫으면 urldecode라는 alias는 사라집니다.
계속적으로 사용하려면 profile 또는 bashrc 파일에 이 alias를 추가해 줘야합니다.


4. 잘못 인식된 문자 인코딩 알아보기
(이 부분은 다소 실험적인 내용이므로 안 보셔도 됩니다.)

이 내용은 문제 해결 방법을 잘 몰랐을 때 인터넷으로 자료를 검색하다가 iconv와 convmv라는 명령어를 알게 되어서 작성한 것입니다.

파일 내용을 인코딩 변환할 때는 iconv를 사용하고, 파일명과 폴더명에 대한 인코딩 변환할 때는 convmv를 사용한다네요. 깨진 한글을 되살리기 위해 저 명령을 사용해 볼려니까 벌써 UTF-8 변환이 되었더라구요. 그래서 cp949가 아닌 어떤 문자 집합(CCS)으로 부터 변환이 된 것인지 알아보기 위해 스크립트를 작성해서 돌려봤습니다.

그 결과...
텍스트 파일은 ISO-8859-15 (LATIN-9)로 인식 되어서 한글이 깨진 것이고,
zip 파일은 CP866 (IBM866)으로 인식 되어서 한글이 깨진 것이었습니다.

그래서 다시 역과정을 통해 ISO-8859-15나 CP866을  CP949로 바꿔서 UTF-8로 변환하니까 텍스트 및 파일(폴더)명의 한글이 제대로 잘 보였습니다.

$ cat find_charset.sh
#!/bin/bash
for filename
do
for x in `cat charsets_list`; do
OUT=`echo $x:; echo "$filename" | iconv -c -f utf-8 -t $x | iconv -c -f cp949 -t utf-8`;
echo $OUT;
done

$ sh find_charset.sh "깨진 한글" > out.txt
--> out.txt 파일을 열어보면 잘못 인식된 문자셋에서 한글이 제대로 보임니다.

[첨부 파일: charsets_sh.tar.gz ]


P.S.
제가 전문가가 아닌 사용자의 입장에서 쓴 글이므로 다소 잘못된 내용이 있을 수 있습니다. 틀린 부분을 발견하시면 댓글 달아주세요. 수정하도록 하겠습니다.
감사합니다... ^_^

참고한 웹 페이지:
한글 인코딩의 이해 1편: 한글 인코딩의 역사와 유니코드
한글 인코딩의 이해 2편: 유니코드와 Java를 이용한 한글 처리 
우분투에서 zip 파일 한글 깨짐 현상 해결하기!
우분투(리눅스)에서 zip 파일 압축 해제시 한글 깨짐 문제 해결 방법
[완료]윈도우 파일을 우분투에서 읽으면 한글이 깨져요..;;
윈도우즈와 리눅스의 TXT 호환 문제, 압축파일 한글깨짐 문제
linux에서 zip으로 한글이 포함되어있는 파일을 압축할때 인코딩하는 옵션이 있나요..?
조회 수 :
1502
등록일 :
2018.03.28
17:20:09 (*.160.88.18)
엮인글 :
http://webs.co.kr/index.php?document_srl=3314198&act=trackback&key=624
게시글 주소 :
http://webs.co.kr/index.php?document_srl=3314198
List of Articles
번호 제목 글쓴이 날짜 조회 수
110 How to install a Debian 9 (Stretch) Minimal Server 데비안 9 설치 admin 2018-06-13 526
109 Which is better, GCC or Clang? admin 2018-06-13 505
108 고정ip설정, dns설정(데비안) linux 리눅스 admin 2018-06-13 581
107 [리눅스] 부팅 시 자동 실행 프로그램 등록|작성자 나눔HN admin 2018-06-01 641
106 리눅스 서버 유지보수 점검 메인터넌스 상황 파악 admin 2018-04-14 832
105 Top 20 OpenSSH Server Best Security Practices 보안 대책 실제 적용 admin 2018-04-14 805
104 Start Stop Restart Apache 2 Web Server Command Debian Ubuntu CentOS RHEL Fedora admin 2018-04-14 759
103 리눅스 한글 2014 뷰어 다운로드 - hwpviewer admin 2018-03-28 1097
102 리눅스를 백업 복구 tar admin 2018-03-28 1154
» zip 압축 파일 및 텍스트 파일의 한글 깨짐 해결 방법 admin 2018-03-28 1502
100 Lnux export how to admin 2017-12-17 2282
99 What's the difference between “adduser” and “useradd”? admin 2017-12-15 2333
98 useradd Command 리눅스 admin 2017-12-15 3830
97 How To Install Java with Apt-Get on Ubuntu 16.04 oracle java admin 2017-10-13 3110
96 우분투 Linux(Ubuntu)에 Java설치 및 환경 설정하는 방법 admin 2017-10-13 3164
95 우분투 다운로드 사이트 주소 ubuntu download 16.04.3 17.04 site link admin 2017-10-13 3370
94 How to install Java on linux with no Internet connectivity (using local repository) admin 2017-10-01 3174
93 윈도우 ssh 접속 프로그램 admin 2017-09-29 3585
92 openvpn Easy Windows Guide admin 2017-09-20 6422
91 OpenVPN - Getting started How-To admin 2017-09-20 5368
90 openssl 을 이용한 인증서 생성 절차를 정리한다. 개인키 CSR SSL 인증서 파일 생성 admin 2017-09-14 3674
89 How to Manually Unblock / Unban IP Address in fail2ban 차단풀기 admin 2017-09-12 5085
88 How To Protect SSH with fail2ban on Debian 7 데비안 ssh 방어 무작위 로그인 admin 2017-09-12 7065
87 SSH 무작위 로그인 시도 막기(With Fail2Ban on CentOS 6/7 + selinux) admin 2017-09-12 3885
86 리눅스 데비안 네트워크 설정 유선랜 무선랜 linux debian network setting 설정 admin 2017-09-07 7880
85 linux debian 계열 network 설정 테트워크 데비안 admin 2017-09-07 3550
84 PUTTY DOWNLOAD - FREE SSH & TELNET CLIENT admin 2017-09-03 7320
83 debian 8.8 download cd1 cd2 cd3 etc admin 2017-09-03 3523
82 Debian Download 데비안 리눅스 다운로드 admin 2017-09-02 4149
81 데비안 리눅스 부팅시에 방화벽 서버에 자동실행 되게 설정 해보자 admin 2017-08-30 3596
80 리눅스 시작시에 부팅시 프로세스 프로그램 자동 실행 설정 admin 2017-08-30 8646
79 리눅스 시작시 부팅 시, 프로그램 자동실행 등록하기 admin 2017-08-30 5709
78 리눅스 부팅시 시작시 프로그램 명령어 실행하기 (Linux Init script) admin 2017-08-30 5704
77 리눅스 부팅시 자동 실행 명령스크립트 실행하기 만들기 이해 linux booting admin 2017-08-30 7755
76 부팅시 자동실행 명령어 스크립트, rc.local admin 2017-08-30 10910
75 the world’s most widely deployed RADIUS server document admin 2017-08-29 6801
74 네트워크 디바이스명 변경 리눅스 eth0 eth1 admin 2017-08-29 7863
73 Cloned VMware CentOS6 Server "device eth0 does not seem to be present, admin 2017-08-29 3690
72 VMWARE VM Error boot loader install grub - install /dev/sda or /dev/hda MBR linux admin 2016-01-27 4322
71 Linux and Unix touch command admin 2015-11-15 4751
70 Configuration of Red Hat 5.4 Xen for SR-IOV Support admin 2015-08-02 4626
69 apt-get install linux-image-2.6.26-2-686-bigmem admin 2015-06-27 4760
68 intel i210 driver install and compile debian admin 2015-06-27 8442
67 Debian / Ubuntu Linux Install Kernel Headers Package admin 2015-06-27 4793
66 mount -t auto /dev/sdb1 /mnt && ls /mnt admin 2015-06-27 4698
65 kali linux 해킹 hacking attack DDOS etc tools admin 2015-06-24 5416
64 sources.list lenny admin 2015-02-03 5530
63 Ubuntu 14.04 원격 접속(xrdp) 설정 admin 2014-12-21 25771
62 Remote Desktop Connection from Windows 7/8 to Ubuntu 14.04 admin 2014-12-21 6185
61 Using Windows RDP to Access your Ubuntu Instance admin 2014-12-21 5912
60 Install GUI on Ubuntu Server admin 2014-12-21 5951
59 How to start GUI from command line? admin 2014-12-21 5987
58 Download all files in a directory using WGET admin 2014-12-16 6124
57 문서 편집기 vi vim command 명령어 정리 admin 2014-10-29 7817
56 find 명령 사용 예제들 admin 2014-10-29 6637
55 특정 IP 엑세스 못하게 하는방법 admin 2014-10-29 6743
54 scp 명령어를 이용한 파일 복사 및 전송 admin 2014-10-29 8359
53 [리눅스] 소프트웨어 레이드의 리빌딩 및 리싱킹 속도를 높이는 5가지 방법 admin 2014-10-17 7002
52 /bin/false, /sbin/nologin 의 차이점 admin 2014-10-13 8127
51 리눅스 시스템 유저 추가 명령어 useradd 사용하기 admin 2014-08-09 7263
50 리눅스 시스템 시작시에 자동 실행할 파일 등록하기 admin 2014-03-22 38966
49 linux 에티터 명령어 정리 포그라운드 전환 : ctrl + z 다시 vi 모드로 돌아오려면 fg admin 2014-03-05 13023
48 Linux Memory Management – Virtual Memory and Demand Paging admin 2014-03-03 8828
47 iptables rules tcp drop all port except tcp 22 admin 2014-02-26 10236
46 seagate HD 시게이트 하드 디스크 A/S 에이에스 기간 조회 및 받는 3가지 방법 admin 2013-12-09 11015
45 SSH Without Authentication Using Key Files (CentOS 5.6) admin 2013-11-22 9637
44 Getting started with SSH public key cryptography admin 2013-09-05 17981
43 암호 없이 SSH 접속하기 admin 2013-09-05 10237
42 Linux Date Command Examples to Display and Set System Date Time admin 2013-07-11 11846
41 FreeRADIUS 설치(freeradius-sever-2.1.8) admin 2013-04-19 23074
40 Radius를 이용한 ssh 인증 서버 구축하기 admin 2013-04-19 16989
39 CentOS 5.4에서 RADIUS 서버 설치하기 admin 2013-04-19 26649
38 Event IP 20187 admin 2013-04-08 10015
37 리눅스에서 자바(JDK) 설치하기 admin 2013-04-08 11202
36 리눅스 네트워크 설정 멸령어 Linux admin 2013-04-08 11444
35 [linux]리눅스 버전및 CPU등 환경정보 확인하기 admin 2013-04-08 43883
34 Linux 시스템 백업과 복원 admin 2013-04-04 12015
33 tar로 전체시스템 백업 LINUX Backup admin 2013-04-04 27767
32 다운된 리눅스서버 응급복구 admin 2013-03-28 15803
31 Build a RADIUS server on Linux admin 2013-03-23 15283
30 Deploying FreeRADIUS with the MySQL Cluster Database file admin 2013-03-22 10561
29 FREE RADIUS 활용및 응용 admin 2013-02-23 22473
28 리눅스에 RADIUS 서버 구현하기 admin 2012-09-01 53225
27 Debian CD DVD 다운로드 링크 헤메지말고 바로 다운로드하지요 admin 2012-08-18 11107
26 Site builder shootout: Drupal vs. Joomla vs. WordPress admin 2012-07-15 56410
25 WinXP 부팅안되는 현상 NTLDR is missing 메세지 admin 2012-07-12 11748
24 윈도우XP 알면 정말 편한 숨겨진 기능 60가지 admin 2012-05-11 16319
23 한국인/국내기업은 얼마나 Linux Kernel에 기여할까? admin 2012-04-29 14257
22 scp, ssh, rsync등을 사용할때에 SSH 비밀번호 묻는것 피하기 admin 2012-04-15 12531
21 [Linux/SSL] 리눅스 서버에 Apache 2 설치 및 SSL 설정하기(mod_ssl, openssl) admin 2012-04-15 13400
20 리눅스의 막강한 네트워크 필터 iptables admin 2012-04-15 11916
19 Centos net install web http admin 2012-03-02 16678
18 Linux 시스템 백업과 복원 admin 2012-02-28 14303
17 검색 파일리스트 만든 다음 여러파일 한방에 압축하기 admin 2012-02-14 13513
16 linux 파티션 디렉토리 용량 확인방법 전체 폴더 크기 사이즈 admin 2012-01-05 13954
15 How to disable IPv6 in Debian Lenny and Squeeze admin 2011-12-29 11934
14 리눅스 네트워크 설정 LINUX admin 2011-12-19 13026
13 다양한 사운드 파일있는곳 admin 2011-12-19 11009
12 모든 CPU 벤치마크 수치 admin 2011-12-16 12958
11 Wireshark admin 2011-12-16 11146