Windows 공유로 압축을 풀 때 tar에 의해 파일 이름 인코딩이 UTF-8로 전환됨

Windows 공유로 압축을 풀 때 tar에 의해 파일 이름 인코딩이 UTF-8로 전환됨

우리는 제품에 이미지를 자유롭게 추가할 수 있는 다양한 Magento 설치(웹숍)를 보유하고 있습니다. 이미지가 제품에 추가되면 파일 이름은 때때로 특수 문자(예: 독일어 움라우트)를 포함하는 특정 방식으로 지정됩니다.

한 가지 경우에는 현재 파일 이름이 latin1로 인코딩되어 있는지 조사하고 있습니다. ls파일에 작업을 수행 한 다음 vim. 를 사용하면 fileencoding=latin1움라우트가 올바르게 표시됩니다.

tar이제 이러한 Magento 설치는 , 7zipccrypt(순서대로) 백업됩니다 . Linux에서 압축을 풀면 동일한 인코딩으로 동일한 파일 이름이 제공됩니다.

이제 Windows 시스템에 tar가 제거된 Magento 설치를 적용하려는 공유가 있습니다. 그러나 압축을 푸는 동안 움라우트 파일 이름과 관련하여 여러 오류 메시지가 나타납니다.

tar: var/magento_webs/customer/media/import/images/12063-sportsto\337d\344mpfer-hinten.jpg: Kann open nicht ausführen: Datei oder Verzeichnis nicht gefunden
tar: var/magento_webs/customer/media/import/images/15240-kunststoffkotfl\374gel-detail-vorne.jpg: Kann open nicht ausführen: Datei oder Verzeichnis nicht gefunden
tar: var/magento_webs/customer/media/import/images/14300-fl\374gel.jpg: Kann open nicht ausführen: Datei oder Verzeichnis nicht gefunden
tar: var/magento_webs/customer/media/import/images/15240-41kotfl\374gel-kunststoff-vorne.jpg: Kann open nicht ausführen: Datei oder Verzeichnis nicht gefunden
tar: var/magento_webs/customer/media/import/images/citr\366n.jpg: Kann open nicht ausführen: Datei oder Verzeichnis nicht gefunden
tar: var/magento_webs/customer/media/import/images/2cv6-ma\337e-1.jpg: Kann open nicht ausführen: Datei oder Verzeichnis nicht gefunden
tar: var/magento_webs/customer/media/import/images/2cv6-ma\337e.jpg: Kann open nicht ausführen: Datei oder Verzeichnis nicht gefunden
tar: var/magento_webs/customer/media/import/images/11076-vorschalld\344mpfer.jpg: Kann open nicht ausführen: Datei oder Verzeichnis nicht gefunden

(대략 번역하면 Cannot execute open: File or directory not found)

이제 파일 이름 tar 목록을 보면 tar가 UTF-8로 인코딩된 파일 이름을 생성하려고 시도하는 것 같습니다(\337이 그렇게 보입니다). 그러나 마운트 지점은 (에서)를 통해 사용할 수 있게 되었습니다 etc/fstab.

//192.168.0.111/share   /mnt/share      cifs    username=myusername,noperm,sec=ntlm,codepage=cp850       0       0

움라우트 인코딩을 유지하는 방식으로 이러한 파일 이름을 공유에 쓸 수 없는 이유가 무엇인지 잘 모르겠습니다. 다른 옵션이 누락되었나요(코드 페이지가 이에 대한 잘못된 옵션입니까)?

편집 1: Linux 상자에 SSH로 연결하고, Remote character set연결을 로 설정하고 ISO8859-15, 공유 디렉터리로 변경하고, touch움라우트가 포함된 파일을 입력하여 비슷한 것을 다시 만들 수 있습니다.

touch: kann â\244â nicht berÃŒhren: Datei oder Verzeichnis nicht gefunden

(Can't touch X: 파일이나 디렉터리를 찾을 수 없음)

편집 2: 첫 번째 솔루션 시도

마운트 옵션을 추가하고 iocharset=utf8공유를 다시 마운트했지만 동일한 파일에서 똑같은 문제가 발생했습니다. 이상하게도 using mount(보통 마운트 지점에 마운트된 모든 옵션을 인쇄함)은 iocharset옵션을 인쇄하지 않습니다( 설정으로 사용하거나 utf8사용하지 않음 ).cp850

답변1

과거에(버전 2.0 정도라고 생각합니다), mount.cifs는 "codepage=" 옵션을 잃어버리고 모든 것을 "iocharset=" 옵션에 넣었습니다.

당신은 괜찮을 것입니다

//host/share /mnt/share cifs username=blah,noperm,sec=ntlm,iocharset=utf8 0 0

관련 정보