명령줄에서 특수 문자가 이스케이프되는 이유

명령줄에서 특수 문자가 이스케이프되는 이유

저는 AlmaLinux 서버를 사용하고 있는데, 일부 인코딩 문제로 어려움을 겪고 있습니다. 예를 들어, CLI에 다음을 입력하면:

mkdir asdfü
ls ./

나는 얻다 'asdf'$'\303\274'

이 문제를 어떻게 해결할 수 있나요?

답변1

터미널이 입력/출력이 UTF-8로 인코딩되도록 구성되어 있지만 쉘 세션이 바이트 0303 및 0274(8진수)가 개별적으로 또는 조합되어 형성되지 않는 다른 문자 세트를 사용하는 로케일에 있습니다. 유효한 인쇄 가능한 문자인 경우 유효합니다. 대부분 해당 로케일은 C/ POSIX(정의되지 않았거나 잘못 정의된 경우의 기본 로케일)이고 문자 세트는 바이트 0303 또는 0274(0177 이상의 바이트)에 대한 문자를 정의하지 않는 ASCII(ANSI_X3.4-1968이라고도 함)입니다.

locale charmap

로케일에서 어떤 문자셋이 사용되는지 알려줄 것입니다.

locale

로캘 구성이 표시됩니다.

$LANG최소한 문자 세트가 UTF-8이고 기본 설정과 일치하는 로케일로 변경하고 싶을 것입니다 .

locale -a

서버에서 사용 가능한 로케일 목록을 제공합니다.

관련 정보