텍스트 파일 인코딩

플러그인이 텍스트 파일을 읽는 경우 Workbench에서 텍스트 파일 인코딩 환경 설정을 준수해야 합니다. 

텍스트 파일은 플랫폼 및 로케일에 따라 다르게 인코딩됩니다. 대부분의 경우 호스트 운영 체제의 로케일에 대해 기본 텍스트 파일 인코딩을 사용하면 됩니다. 그러나 사용자가 다른 소스에서 나온 텍스트 파일로 작업할 수도 있습니다. 네트워크 팀 환경에서 플랫폼을 사용할 수 있는 경우 사용자는 다른 팀과 쉽게 파일을 교환할 수 있도록 기본 인코딩 설계가 아닌 다른 인코딩 설계를 사용하는 텍스트 파일로 작업할 가능성이 있습니다.

이런 이유 때문에 Workbench는 환경 설정 대화 상자에서 사용자가 지정한 자체 인코딩 프로파일을 정의합니다. 사용자는 일반 > 편집기 환경 설정 페이지의 사용 가능한 인코딩 선택사항에서 선택하거나 자체 인코딩으로 입력할 수 있습니다. 편집기 및 빌더 등 텍스트 파일을 해석하는 플러그인에서는 설치된 운영 체제 인코딩이 사용 중인 것으로 가정하지 않고 Workbench 인코딩 환경 설정을 참조해야 합니다.

ResourcesPlugin.getEncoding().을 사용하여 인코딩 환경 설정을 확보할 수 있습니다.  기본 시스템 인코딩을 사용하지 말고 이 인코딩을 java.io 판독기에 전달해야 합니다.  이 환경 설정의 변경사항을 추적하려면 ResourcesPlugin 환경 설정에서 리스너를 연결하고 ResourcesPlugin.PREF_ENCODING의 변경사항에 반응할 수 있습니다. 다음 예제는 기본 문서 편집기의 일부입니다.

public void initialize(StatusTextEditor textEditor) {
	
	fTextEditor= textEditor;
	
	fPropertyChangeListener= new Preferences.IPropertyChangeListener() {
		public void propertyChange(Preferences.PropertyChangeEvent e) {
			if (ResourcesPlugin.PREF_ENCODING.equals(e.getProperty()))
				setEncoding(null, false);
		}
	};
		
	Preferences p= ResourcesPlugin.getPlugin().getPluginPreferences();
	p.addPropertyChangeListener(fPropertyChangeListener);
	
	fEncodingActionGroup= new EncodingActionGroup(fTextEditor);
	fEncodingActionGroup.update();
}

편집기의 편집 > 인코딩 메뉴에서 특정 파일에 대한 인코딩을 변경할 수도 있습니다. 열린 편집기 내부에서 텍스트를 조작하려는 경우, 특정 편집기에 대한 인코딩을 얻으려면 IEncodingSupport.getEncoding()을 사용해야 합니다. 다음 예제에서는 편집기에서 이 정보를 얻는 방법을 보여줍니다.

IEncodingSupport encodingSupport = (IEncodingSupport) editor.getAdapter(IEncodingSupport.class);
String encoding = encodingSupport.getEncoding();