터미널의 파일 이름에 악센트 부호가있는 문자를 처리하는 데 문제가 있습니다. 다음을 고려하세요:
$ touch leão.png
$ ls > test.txt
$ open -a TextWrangler test.txt
에있는 악센트 부호가있는 문자 test.txt
잘못된 것입니다. 다음은 관련성이있는 몇 가지 사실입니다.
- 터미널을 기본 설정으로 사용하고 있습니다. 문자 인코딩은 UTF-8로 설정되고 "시작할 때 로켈 환경 변수 설정"이 선택됩니다.
~의 출력
locale
껍질에 :LANG="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_CTYPE="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_ALL="en_US.UTF-8"
TextWrangler의 기본 인코딩은 UTF-8입니다. 다른 인코딩으로 파일을 다시 열려고하면 문제가 악화됩니다.
- OS 10.6.8을 실행 중입니다.
최신 정보
의견에 대한 답변으로 다음과 같은 추가 정보가 있습니다.
의 출력
od -tx1 test.txt
:0000000 6c 65 61 cc 83 6f 2e 70 6e 67 0a 74 65 73 74 2e 0000020 74 78 74 0a 0000024
- 만약 내가한다면
echo leão.png > test2.txt
TextWrangler에서 텍스트가 올바르게 표시됩니다. - 열리는
test.txt
텍스트 편집기에서 다음을 표시합니다.leaÃÉo.png
- 열리는
test.txt
jEdit에서 다음을 표시합니다.leaÃÉo.png
- 열리는
test.txt
AlphaX 디스플레이 :leaÃÉo.png
- 열리는
test.txt
...에서emacs
...에서 이내에 터미널 디스플레이 :leão.png
쉘에서 비 ASCII 파일 이름으로 작업 할 수 있기를 정말로 원합니다. 어떻게 작동시킬 수 있습니까?
od -tx1 test.txt
? 텍스트 랭글러에서 무엇을 볼 수 있습니까?echo leão >test2.txt
? 열면 무엇을 볼 수 있습니까?test.txt
다른 편집자의 경우?