첫째: LC_TIME, LC_NUMERIC 및 대부분의 기타 LC_* 변수에 대한 지역 세부 정보의 관련성을 이해할 수 있지만 'en_AU'가
UTF-8(및 기타 인코딩)이 아닌 LC_CTYPE과 어떻게 관련되는지 잘 이해하지 못합니다. )에는 다음과 같은 충분한 정의가 있습니다(LC_CTYPE의 경우).코딩정의에 따라 일관성이 있습니까? ...
제가 글을 쓰면서 생각해보면, 아마도 세계의 다른 지역에서는 소문자를 다르게 대문자로 쓰는 것 같습니다... 그렇다면 어떻게 iconv
처리해야 할까요? ...
이 iconv
점이 실제로 제가 이 줄을 쓰기 시작한 이유인 것 같습니다. 로케일을 묻지 않고 입력 인코딩 형식만 묻기 때문입니다.
다음 딜레마는 locale LC_CTYPE
출력의 라인 항목이 무엇을 참조하는지 및/또는 레이아웃을 가져오기에 좋은 위치가 어디인지입니다. 아마도 더 관련성이 높은 질문은 이 정보가 누구와 어디서 제공됩니까?입니다. ..
필요하지 않다고 확신합니다...하지만 놀랍게도 "스크립트", "인코딩" 및 "로케일"에 대한 그림을 채우는 데 도움이 됩니다.기이한일단 떠나면ASCII 세계.
답변1
모든 구역 변수는 동일한 구역 이름을 사용하므로 한 번의 클릭으로 원하는 구역을 지정할 수 있습니다 LANG=en_AU.utf8
. 짐작할 수 있듯이 국가 정보는 예를 들어 LC_CTYPE
대부분의 언어에 있지만 i
터키어()에는 없는 경우에도 관련이 있습니다. 그러나 기적을 기대하지 마십시오. 예를 들어 소문자는 대문자와 일대일 대응을 가지므로 좋은 대문자 버전은 없습니다.I
İ
tr_TR.utf8
ß
de_DE.iso8859-1
SS
값과 함께 키워드 이름을 보면 출력을 더 쉽게 이해할 수 있을 것입니다(그렇지 않은 경우 locale -k LC_CTYPE
, 예 를 들어 특정 키워드에 대한 값을 얻을 수 있도록 출력 형식이 설계되었습니다 ). 키워드 목록과 그 의미는 로케일 데이터가 저장되는 방식과 마찬가지로 시스템에 따라 다르며 많은 사람들이 이에 관심이 없으므로 C 라이브러리 소스 코드 외부에서는 많은 문서를 찾지 못할 수도 있습니다. 지금까지 가장 유용한 로케일 명령 형식은 사용 가능한 로케일 이름을 나열하는 것입니다.-k
-k
locale ctype-width
locale -a
~을 위한GNU 라이브러리(즉, 내장되지 않은 Linux):
- 메시지를 제외한 모든 로캘 데이터는 에 저장됩니다
/usr/lib/locale/locale-archive
.localedef
/usr/share/i18n
및 의 데이터입니다/usr/local/share/i18n
. 로케일 정의 파일의 형식은/usr/share/i18n/locales
소스 코드에만 문서화되어 있다고 생각합니다. - 문자 세트 및 인코딩 정의 파일의 형식은 다음과
/usr/share/i18n/charmaps
같습니다.POSIX:2001에 의해 표준화됨. 이러한 파일(또는GNU 라이브러리, )의 컴파일된 버전/usr/lib/locale/locale-archive
은 다음과 같습니다 .상 프로그램 작성그리고명령줄시설. 인코딩 변환은/usr/lib/gconv/*.so
.Gnu libc 매뉴얼 문서 에도 의존합니다.자신만의 gconv 모듈을 작성하는 방법, 섹션에는 "이 정보는 새 모듈을 작성하는 데 충분해야 합니다. 그렇게 하는 사람은 GNU C 라이브러리 소스 코드에서 사용 가능한 소스 코드를 살펴봐야 합니다."라는 텍스트가 포함되어 있습니다. - 각 애플리케이션에는 자체 컬렉션이 있으므로 메시지 카탈로그는 특별하게 처리됩니다. 메시지 카탈로그는 에 있습니다
/usr/share/locale/*/LC_MESSAGES
. 설명서에는애플리케이션 작성자를 위한 문서. GNU libc 지원POSIX 인터페이스catgets
그리고 더 강력하다텍스트 인터페이스 가져오기.
서면 언어는 영어와 크게 다르지 않더라도 정말 복잡합니다. 프랑스어와 독일어는 ü
같은 문자인가요?"텔레마"그리고"모음 움라우트", 프랑스와 독일 프린터가 액센트를 약간 다른 높이로 조판하는 것이 중요합니까? i
( İ
터키어)의 대문자는 무엇입니까? ASCII(독일어와 같이)만 있는 경우 음역됩니까 Ö
? 사전의 위치 정렬(스웨덴어, 뒷면)? 이것은 라틴 알파벳으로 작성된 유럽 언어의 몇 가지 예입니다! 이것O
OE
Ä
Z
유니코드 메일링 리스트이러한 주제에 대한 많은 예가 있으며 때로는 열띤 토론이 있습니다.