텍스트 파일을 서버에 업로드하여 콘텐츠를 처리하는 JavaEE 응용 프로그램에서 작업하고 있습니다. 사용자의 텍스트 소스는 크게 다를 수 있으며 특히 인코딩이 다를 수 있습니다.업로드 된 텍스트 파일의 인코딩이 잘못되었습니다.
모든 것을 UTF-8로 변환하고 싶습니다. (지속성이오고 있습니다.)하지만 먼저 올바르게 읽어야합니다.
내가 InputStreamReader의 GetEncoding이() 메소드를 사용하고 있습니다 :
public void doThings(HttpServletRequest request) {
Part file = request.getPart("formfile");
InputStreamReader isr = new InputStreamReader(file.getInputStream());
// BUT THIS ALWAYS prints "UTF8" whatever the text file's encoding is :
System.out.println(isr.getEncoding());
}
뭔가 다른 길을 가야하는 경우 실제로 앱을 나중에 데이터를 위로 잘게 스캐너 클래스와 구분 기호를 사용하기 때문에의 InputStream를 사용하지만, 나는 당신은 응용 프로그램, 분명히 UTF-8의 플랫폼에 그것을, 그렇지 않으면 기본값을 new InputStreamReader(file.getInputStream(), charsetOfFile);
을 할 필요가있는 포인터
필자는 charset 검색이 정확한 과학 일 것이라고 생각했습니다. 통찰력에 감사드립니다. – Yow