우분투와 데비안은 파일 이름에 대해 서로 다른 문자 인코딩을 사용합니다.

우분투와 데비안은 파일 이름에 대해 서로 다른 문자 인코딩을 사용합니다.

NFS 파일 시스템을 Debian, Amazon Linux 및 Ubuntu 파일 시스템에 마운트하고 있는데 파일 이름에 대해 서로 다른 문자 인코딩을 표시합니다.

샘플 파일은 해당 시스템에 다음과 같이 나타납니다.

우분투:

スクリーンショット-2018-01-11-11.28.19.png

더반:

'$'\343\202\271\343\202\257\343\203\252\343\203\274\343\203\263\343\202\267\343\203\247\343\203\203\343\203\210''-2018-01-11-11.28.19.png'

아마존 리눅스:

???????????????????????????-2018-01-11-11.28.19.png

내가 겪고 있는 문제는 Wordpress 서버를 실행하고 있는데 Debian 인스턴스가 이미지 파일을 찾을 수 없기 때문에 오류를 반환한다는 것입니다. 이는 파일 이름 차이로 인한 것으로 추정됩니다.

둘 다 Debian을 기반으로 함에도 불구하고 이러한 배포판 간에 파일 이름 인코딩이 그렇게 다른 이유는 무엇입니까? 데비안 시스템에 대한 수정 사항이 있나요?

출력 : Amazon Linux와 Debian은 동일 locale하지만 파일 이름은 다르게 나타납니다.locale

더반:

locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE=UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

우분투:

LANG=C.UTF-8
LANGUAGE=
LC_CTYPE=C.UTF-8
LC_NUMERIC="C.UTF-8"
LC_TIME="C.UTF-8"
LC_COLLATE="C.UTF-8"
LC_MONETARY="C.UTF-8"
LC_MESSAGES="C.UTF-8"
LC_PAPER="C.UTF-8"
LC_NAME="C.UTF-8"
LC_ADDRESS="C.UTF-8"
LC_TELEPHONE="C.UTF-8"
LC_MEASUREMENT="C.UTF-8"
LC_IDENTIFICATION="C.UTF-8"
LC_ALL=

아마존 리눅스:

locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LC_CTYPE=UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

감사해요.

답변1

사용 가능한 로캘 집합과 선택한 예상 로캘이 일치하지 않습니다. 이 locale -a명령은 사용 가능한 로케일과 locale현재 선택된 로케일을 표시합니다.

우분투: C.UTF-8 데비안: en_US.UTF-8 아마존:en_US.UTF-8

en_US.UTF-8로캘은 Debian 또는 Amazon Linux에서는 사용할 수 없습니다. 이 명령은 해당 위치에서 사용 가능한지 locale -a표시합니다 .C.UTF-8

Debian 및 Amazon Linux 서버에서 이 명령을 루트로 실행하면 생성할 로케일 세트를 선택할 수 있을 뿐만 아니라 다음 화면에 시스템 기본 로케일을 선택할 수 있는 옵션이 표시됩니다.

dpkg-reconfigure locales

en_US.UTF-8Debian 및 Amazon Linux 시스템에 구축되었거나 ( C.UTF-8여기서 선택되었다고 가정) C.UTF-8시스템 기본값으로 선택되어 있는지 확인해야 합니다 .

많은 UTF-8 로케일 중 하나를 선택하지 않으면 사용자 인터페이스는 바이트 문자열 $'\343\202\271\343\202\257\343\203\252\343\203\274\343\203\263\343\202\267\343\203\247\343\203\203\343\203\210'スクリーンショット.

관련 정보