Windows 클라이언트에서 Linux 서버로 텍스트 파일을 업로드하는 Java 클래스가 있습니다.인코딩을 변경하지 않고 java를 사용하여 파일을 업로드하는 방법
내가 업로드 할 triyng 파일은 Cp1252 또는 ISO-8859-1을 사용하여 인코딩됩니다.
파일을 업로드하면 utf-8을 사용하여 인코딩되므로 éèà와 같은 악센트가 포함 된 문자열을 읽을 수 없습니다.
리눅스 서버의 명령
file -i *
는이 UTF-8을 사용하여 인코딩 된 것을 알려줍니다.
내가 인코딩 업로드를 diring 변경되었습니다 생각, 그래서 내 서블릿이 코드를 추가 :
<form name="formUpload"
action="..." method="post"
enctype="multipart/form-data" accept-charset="ISO-8859-1">
lib 디렉토리 I : JSP 파일에서
String currentEncoding=System.getProperty("file.encoding");
System.setProperty("file.encoding", "Cp1252");
item.write(file);
System.setProperty("file.encoding", currentEncoding);
,이 코드가 파일 업로드에 아파치 커뮤니케이션이 사용됩니다.
Doe는 단서가 있습니다. 왜냐하면 나는 정말로 아이디어를 내지 못하기 때문입니다!
감사합니다,
Otmane MALIH
제공된 서블릿 코드는 실제 시나리오에서 이상한 부작용을 유발할 수 있습니다 ... 동시 클라이언트를 기억하십시오 (시스템 특성은 전역 적입니다). – home
나는이 코드를 없애고 ISO-8859-1로 인코딩 된 파일을 강제로 사용하려고했지만 그 작업은하지 않았다. –