Linux 구성 파일에는 어떤 문자 인코딩이 사용됩니까?

Linux 구성 파일에는 어떤 문자 인코딩이 사용됩니까?

동료가 Qt의 내장 QTextStream 클래스를 사용하여 Ubuntu 시스템에서 /etc/network/interfaces 파일을 다시 작성하고 있습니다. 이 코드의 일부에는 코덱이 UTF-8로 설정된 QTextStream의 setCodec() 메소드에 대한 호출이 포함됩니다. (바라보다https://doc.qt.io/qt-5/qtextstream.html#setCodec궁금하시다면)

Linux 구성 파일이 무엇인지 궁금합니다.~해야 한다ISO 8859-1은 내가 생각하는 "순수한 ASCII" 텍스트 스타일에 가장 가까운 것으로 보이며, 대부분의 구성 파일이 일반 영어이고 기본 문자 이상이 필요하지 않기 때문에 나는 (아마도 순진하게) 이것이 정확하다고 가정했습니다. , 숫자 및 일부 구두점이 더 중요합니다.

그러나 비영어권 국가의 누군가가 ISO-8859-에 포함되지 않은 다른 문자를 사용하여 그러한 파일에 주석을 추가하려는 경우 어떻게 할지 궁금합니다. 그들은 단지 "불운"일까요?

분명히 Ubuntu/Linux 시스템에서는 다음과 같은 "표준" 구성 파일을 많이 찾을 수 있습니다.

  • /etc/네트워크/인터페이스
  • /etc/ntp.conf
  • /etc/호스트 이름
  • ...

그러한 파일에서 실제로 어떤 인코딩이 지원/예상되는지에 대해 기꺼이 무게를 두는 사람이 있습니까? 이것이 실제로 어디에 문서화되어 있습니까? 새로운 Linux 시스템 서비스 작성자가 따라야 할 일종의 "Linux 개발자 선언문"에 명시되어 있습니까? 그렇다면 이 정보의 명확한 출처는 어디에서 찾을 수 있습니까?

답변1

일반 인코딩은 LANG 환경 변수를 통해 설정할 수 있지만 이제 거의 모든 Linux 배포판과 도구가 UTF-8로 마이그레이션되었습니다. 구성 파일의 가장 큰 장점은 ASCII 문자만 사용하는 모든 문자열이유효한 ASCII. 따라서 대부분의 구성 파일에서는 어쨌든 이러한 문자만 사용하므로 중요하지 않습니다.

관련 정보