Mintty를 사용하여 Windows 시스템에서 FreeBSD-11.2-Release로 ssh를 시도하고 있지만 LC_ALL을 en_US.UTF-8로 설정하고 ASCII가 아닌 문자를 입력/붙여넣으려고 하면 연결이 닫힙니다.
저는 Cygwin을 사용하고 있으며 Qterminal과 Terminator도 사용해 보았습니다.
FreeBSD 11.2 릴리스에서 UTF-8 문자에 문제가 있습니까? 아니면 이것은 단지 Windows에만 국한된 것입니까(macOS 또는 Linux 사용자는 이에 문제가 없음을 의미합니다)?
참고: 내 FreeBSD 컴퓨터에는 Windows가 설치되어 있지 않습니다.
답변1
설정을 선언했지만 LC_ALL
올바르게 설정했는지 잘 모르겠습니다. 실제로 모든 것이 포함되어 있습니다.FreeBSD 매뉴얼: 22.2. 현지화 사용
"쉘 시작 파일 방법"(.profile) 대신 "로그인 클래스 방법"(login.conf)을 사용하는 것이 시스템과 셸 전체에서 더 일관되기 때문에 강력히 권장합니다.
사람들은 언어 관련 설정을 수정했다고 말할 때 다음 두 가지를 종종 잊어버립니다.
/etc/login.conf
(시스템 전체) 또는 (사용자)를 변경할 때~/.login.conf
다음을 실행해야 합니다.cap_mkdb무슨 효과!- 테스트할 때 새 세션을 시작하는 것을 잊지 마세요!
가장 먼저 할 일은 locale 명령을 실행하여 설정을 확인하는 것입니다. 일반적인 FreeBSD 시스템에서는 다음이 표시됩니다:
$ locale
LANG=
LC_CTYPE="C"
LC_COLLATE="C"
LC_TIME="C"
LC_NUMERIC="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_ALL=
이러한 설정을 사용하면 가장 일반적인 터미널에서 유니코드 문제가 발생합니다. PuTTY를 사용하고 있는데 다음 테스트를 터미널에 붙여넣을 수 없습니다.
ÆØÅ жз ઑ ᱵ
이는 FreeBSD가 기본적으로 유니코드를 사용하지 않기 때문입니다. 이 답변은 11.2에 대해 테스트되었지만 13부터 기본값은 "C.UTF8"이므로 변경할 필요가 없습니다. 그러나 일반 설치에서는 사용자가 "러시아어"를 사용하도록 설정하면 매우 빠르게 확인할 수 있습니다. 그 이유는 러시아어가 기성 정의(에서 /etc/login.conf
)가 있는 유일한 언어이고 유니코드를 사용하기 때문입니다.
pw usermod johndoe -L russian
지금 로그인하십시오새로운"johndoe" 계정(귀하의 사용자 이름이 무엇이든)을 사용한 세션입니다. 이제 위 테스트의 유니코드를 셸에 붙여넣을 수 있습니다. 다음 명령을 사용하여 설정을 가져오는 방법을 확인합니다.locale
$ locale
LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_ALL=
이제 기본 유니코드가 실제로 작동하는지 확인했으므로 원하는 대로 설정을 시작할 수 있습니다. 저는 덴마크 사람이므로 다음과 같은 간단한 단계를 따르겠습니다.
1.언어 설정 추가
필요한 각 언어에 대해 섹션을 추가하겠습니다./etc/login.conf
danish|Danish Users Accounts:\
:charset=UTF-8:\
:lang=da_DK.UTF-8:\
:tc=default:
2. 데이터베이스 업데이트
소스 login.conf를 편집할 때마다 데이터베이스를 업데이트해야 합니다.
cap_mkdb /etc/login.conf
3. 사용자 언어 설정
저는 주로 pw
사용자를 관리하는 데 사용합니다. 이제 사용자를 생성하거나 수정할 때 언어만 지정하면 됩니다.
pw useradd janedoe -L danish
힌트:개인적으로 선호하는 것은 시스템 전체의 "기본값"을 변경하는 것이 아니라 기본값으로 두는 것입니다. 그런 다음 시스템 계정의 언어(예: "postgres")를 설정합니다. 귀하의 시스템 계정에 귀하의 언어 설정에 포함되지 않는 매우 구체적인 설정이 필요한 경우 /etc/login.conf
.
팁 2:위는 사용자를 기준으로 카테고리를 설정하는 방법을 보여줍니다. 시스템 전체의 변경을 원하는 경우할 수 있는login.conf에서 "기본" 클래스를 변경하십시오.
퍼티 팁:터미널은 당연히 UTF-8도 지원해야 합니다. PuTTY에서는 설정: Window ⮕ Translation에 있습니다. 광산은 "UTF-8"로 설정되어 있습니다. CJK 영역에 있는 경우 CJK 모호한 문자를 와이드 문자로 처리를 선택하는 것이 좋습니다. 키릴어 사용자는 종종 "키릴어 스위치로서의 Caps Lock"을 좋아합니다.