[Encoding] EUC-KR로의 회귀

adam adam·2022년 9월 13일
0

UTF-8을 EUC-KR로 바꾼 사례들

2001년 이래로 윈도우 또한 파일이름 인코딩부터 유니코드, 가령 UTF-8,을 적용해왔다. 하지만, 과거부터 꾸준히 리눅스 서버의 인코딩을 EUC-KR로 바꿔, Windows의 고전적 인코딩 방식에 부합하려고 한 사례가 있다.

참고로, 현재 22년 Windows 메모장의 인코딩은 UTF-8이 기본이다.

회귀가 불가피한 사례

2021년

불확실한 사례들

2008년
https://bage.tistory.com/m/910?category=106030

2009년
https://solskjaer.tistory.com/20

2011년
https://solskjaer.tistory.com/20

2012년
http://abctank.egloos.com/v/9215895

2013년
http://solarixer.blogspot.com/2013/06/blog-post.html?view=magazine

2014년

2016년
https://woorilife.tistory.com/660

2020년

2021년

2022년

일단 따라해보기

그러면 한글 파일명이 ??? 으로 표기되는 현상이 포착은 된다.

[ec2-user@ip-172-31-41-52 test]$ export LANG=en_US.euckr
[ec2-user@ip-172-31-41-52 test]$ ls -l
total 20
-rw-rw-r-- 1 ec2-user ec2-user 1084 Sep  7 05:42 win_linux.zip
-rw-rw-r-- 1 ec2-user ec2-user   46 Sep  7  2022 ???.txt
-rw-rw-r-- 1 ec2-user ec2-user   37 Sep  7  2022 ??????.txt
-rw-rw-r-- 1 ec2-user ec2-user   37 Sep  7 05:57 ?????????.txt
-rw-rw-r-- 1 ec2-user ec2-user   54 Sep  7 05:58 ???????????????.txt
drwxrwxr-x 2 ec2-user ec2-user   39 Sep  7  2022 ?????????
[ec2-user@ip-172-31-41-52 test]$ cat ???.txt
 ڵ�� ̿Դϴ.
[ec2-user@ip-172-31-41-52 test]$ cat ??????.txt
cat: ??????.txt: No such file or directory
[ec2-user@ip-172-31-41-52 test]$

위와 같이 영문인 win_linux.zip은 너무 잘보인다. 그러나 이걸 unzip 하면 아래와 같이 알수없는 값들이 보이고, 있는그대로의 값들을 cat, vim 해도 접근이 안된다.

[ec2-user@ip-172-31-41-52 test]$ ls -l
total 28
-rw-rw-r-- 1 ec2-user ec2-user   37 Sep  7  2022 #Ub098#Ub098.txt
-rw-rw-r-- 1 ec2-user ec2-user   46 Sep  7  2022 #Ub098.txt
drwxrwxr-x 2 ec2-user ec2-user   48 Sep  7  2022 #Ud55c#Uad6d#Uc5b4
-rw-rw-r-- 1 ec2-user ec2-user 1084 Sep  7 05:42 win_linux.zip
-rw-rw-r-- 1 ec2-user ec2-user   46 Sep  7  2022 ???.txt
-rw-rw-r-- 1 ec2-user ec2-user   37 Sep  7  2022 ??????.txt
-rw-rw-r-- 1 ec2-user ec2-user   37 Sep  7 05:57 ?????????.txt
-rw-rw-r-- 1 ec2-user ec2-user   54 Sep  7 05:58 ???????????????.txt
drwxrwxr-x 2 ec2-user ec2-user   39 Sep  7  2022 ?????????
[ec2-user@ip-172-31-41-52 test]$
[ec2-user@ip-172-31-41-52 test]$
[ec2-user@ip-172-31-41-52 test]$ cat #Ub098.txt

^C
[ec2-user@ip-172-31-41-52 test]$
[ec2-user@ip-172-31-41-52 test]$ vim #Ub098.txt
[ec2-user@ip-172-31-41-52 test]$ [ec2-user@ip-172-31-41-52 test]$
[ec2-user@ip-172-31-41-52 test]$
[ec2-user@ip-172-31-41-52 test]$

억지로 바꾼 리눅스의 LANG을 원래대로 되돌린다.

[ec2-user@ip-172-31-41-52 test]$ export LANG=en_US.UTF-8
[ec2-user@ip-172-31-41-52 test]$ ls -l
total 28
drwxrwxr-x 2 ec2-user ec2-user   39 Sep  7  2022 한국어
-rw-rw-r-- 1 ec2-user ec2-user   46 Sep  7  2022 나.txt
-rw-rw-r-- 1 ec2-user ec2-user   37 Sep  7  2022 나나.txt
-rw-rw-r-- 1 ec2-user ec2-user   37 Sep  7 05:57 나나나.txt
-rw-rw-r-- 1 ec2-user ec2-user   54 Sep  7 05:58 나나나유팔.txt
-rw-rw-r-- 1 ec2-user ec2-user   46 Sep  7  2022 #Ub098.txt
-rw-rw-r-- 1 ec2-user ec2-user   37 Sep  7  2022 #Ub098#Ub098.txt
drwxrwxr-x 2 ec2-user ec2-user   48 Sep  7  2022 #Ud55c#Uad6d#Uc5b4
-rw-rw-r-- 1 ec2-user ec2-user 1084 Sep  7 05:42 win_linux.zip

리눅스의 LANG이 euckr인 상태에서 unzip할때 설정제대로 안해준건
ls -li 명령어를 이용하여 파일의 고유번호를 통해 접근해서 처리해줘야할 것으로보인다.

이와 같은 현상은 참고링크 3번에 언급한 현상과 연관이 있어 보인다. 하지만, 위 상황은 억지로
리눅스의 인코딩을 euckr로 바꾸었기 때문에 나타난 것이고,

다시한번 우선목표를 확인하자면,
목표는 리눅스 서버의 LANG에 맞춰서 인코딩을 맞추어주는 것이다.
내가 임의로 다른 회사 리눅스 서버 LANG 변경하는것이 아니다.

0개의 댓글