Windows ( GBK 인코딩)와 Linux ( UTF-8 인코딩) 간에 많은 파일 교환 작업으로 인해 다음 과 같은 문자 인코딩 문제가 쉽게 발생합니다.
- Windows 시스템에서 이름에 중국어 문자가 포함 된 zip / tar 파일은 Linux 시스템에서 압축을 풀거나 해제하십시오.
- GBK 인코딩 이름의 파일을 디스크에 쓰는 마이그레이션 된 레거시 Java 웹 애플리케이션 (JSP에서 GBK 인코딩을 사용하여 Windows 시스템에서 설계)을 실행합니다.
- ftp는 Windows FTP 서버와 Linux 클라이언트간에 GBK 인코딩 이름의 파일을 가져 오거나 입력합니다.
- Linux에서 LANG 환경을 전환하십시오.
앞에서 언급 한 일반적인 문제는 파일 찾기 / 이름 지정입니다. googled 후 Linux에서 유니 코드 사용 기사 http://www.linux.com/archive/feed/39912를 얻었습니다 .
운영 체제 및 많은 유틸리티는 파일 이름의 바이트가 나타내는 문자를 인식하지 못합니다.
따라서 다른 인코딩으로 2 개의 中文 .txt 파일을 가질 수 있습니다.
[root@fedora test]# ls
???? 中文
[root@fedora test]# ls | iconv -f GBK
中文
涓iconv: illegal input sequence at position 7
[root@fedora test]# ls 中文 && ls $'\xd6\xd0\xce\xc4'|iconv -f gbk
中文
中文
질문 :
- LANG / LC_ALL 환경에 관계없이 Linux 파일 시스템에서 고정 문자 인코딩 ( NTFS에서 UTF-16을 내부적으로 사용)을 사용하여 파일 이름을 저장 하도록 구성 할 수 있습니까?
- 또는 실제로 물어보고 싶은 것은 :
$'\xe4\xb8\xad\xe6\x96\x87.txt'
zh_CN.UTF-8 환경에서 파일 이름 中文 .txt ($'\xd6\xd0\xce\xc4.txt'
)를 허용하고 zh_CN.GBK 환경에서 파일 이름 中文 .txt ( ) 가 동일한 파일을 참조하도록 할 수 있습니까? - 구성 할 수 없다면 커널을 패치하여 파일 시스템과 현재 환경간에 문자 인코딩을 번역 할 수 있습니까 (구현이 아닌 질문 일뿐입니다)? 가능한 경우 성능에 얼마나 영향을 미칩니 까?