사용 사례:서버가 Solaris 시스템이고 클라이언트가 Windows, Linux 등이 될 수 있는 클라이언트 서버 설정이 있습니다. 클라이언트가 시작되면 클라이언트의 로케일을 기반으로 리소스 번들 개체를 생성해야 하며, 그러면 (일부 설계상의 이유로) 서버에서 유지 관리되는 중국어 속성 파일을 가져옵니다.
필요하다:서버의 로케일을 중국어로 변경하지 않고 서버에서 중국어 파일(utf-8 인코딩)을 유지해야 합니다. (또한 나중에 다른 언어에 대한 지원을 도입할 수도 있습니다. 따라서 서버가 동시에 여러 로케일을 가리키도록 할 수는 없습니다. 여기서 요점을 설명하길 바랍니다!)
질문:Windows 시스템에서 중국어 속성 파일을 생성한 다음 이를 Solaris 시스템으로 FTP로 전송하고 VI 편집기를 사용하여 보려고 했습니다. 아래와 같이 일부 기본 Solaris 인코딩으로 인코딩됩니다.
\217\251\300disk-redundancy.mirrors.label=\207\376\251\207\251\226\207\242\346\206\304\272\205\326\277\207\326\251\ 205\273\362 LoginWindow.login_label=\207\326\251\205\273\362 아이디:
폴리스티렌위에서 언급했듯이 서버의 로케일을 변경하는 것은 솔루션의 일부가 될 수 없습니다.
참고로:LANG= LC_CTYPE="C" LC_NUMERIC="C" LC_TIME="C" LC_COLLATE="C" LC_MONETARY="C" LC_MESSAGES="C" LC_ALL=
노트: 1. cat은 위의 VI에 설명된 결과와 다른 결과를 보여줍니다. cat의 다음 출력을 찾으십시오.
files.disk-redundancy.mirrors.label=files/login_label=%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
편집기를 열지 않고 프로그래밍 방식으로 파일에 액세스하려고 시도했는데, 이는 편집기에 문제가 없음을 나타내는 것 같습니다.
자바 디버깅 도구 ID:
- Solaris의 인코딩 조회 도구도 UTF-8을 반환합니다.
auto_ef -a Chinese.properties
UTF-8 1.00
- 이 파일을 Windows로 다시 다운로드하여 편집기에서 보았는데 중국어 파일로 성공적으로 볼 수 있었습니다.
disk-redundancy.mirrors.label=시스템 모니터 로그인
disk-redundancy.mirrors.value=로그인 ID:
답변1
"C" 로케일은 ASCII 텍스트만 처리합니다. UTF-8 텍스트를 처리하려면 UTF-8 로케일을 사용해야 합니다. 서버 전체 설정을 변경할 필요는 없으며 편집기를 실행하는 세션에 대한 환경 변수만 변경할 수 있습니다.