2011-12-12 2 views
0

파일 업로드에 문제가 있으며 UTF-8에서 파일 이름을 올바르게 저장하고 있습니다 ... 나는 HTML 형식의 문자 집합과 인코딩을 설정하는 것과 같은 모든 작업을 수행했다고 생각합니다. 또한 request.setCharacterEncoding ("UTF8"), 왜 여전히 작동하지 않는지 잘 모르겠습니다. 내 코드가 HTML 및 JSP로 작성됩니다. 도와 주시겠습니까? 많은 감사utf-8의 디렉토리에 파일 이름 작성하기

내가 infomormation 조금 더 추가하기 위하여려고하고있다 :

이 줄은 나는 그것이 작동하도록 관리 한 하나이지만, 단어가 끊어지기로는, 꽤 잘하지 않을 때 특수 캐릭터가 등장한다.

saveFile = new String(saveFile.getBytes(), "UTF8"); 

는 파일 이름은 다음과 같아야합니다 tríptico .PDF하지만 결과는 당신은 UTF-8로 그대로 기본 파일 시스템이 UTF-를 지원하지 않는 파일 이름을 저장 안된다 그럴

답변

0

입니다 8. 파일 이름을 받아 유니 코드로 디코딩 한 다음 파일 시스템이 실제로 사용하는 문자 세트로 다시 인코딩해야합니다.

+0

답장을 보내 주셔서 감사합니다.하지만 좀 더 자세히 설명해 주시겠습니까? – Sheeyla

+0

전체 JVM에 대해 -Dfile.encoding을 제외하고 비 유니 코드 경로명 작성 용 Java API는 없습니다. – bmargulies

1

saveFile은 문자열입니까? 왜 그걸 다시 설정하시는 거니? 자바 문자열은 이미 유니 코드이며, 텍스트가 자바 문자열이되기 전에 모든 UTF8 디코딩이 이루어져야합니다.

1

작성한 코드는 작동하지 않습니다.

saveFile.getBytes()은 file.encoding에 정의 된 인코딩에서 바이트를 가져온 다음 Java에 "이 바이트 배열이 UTF-8이라고 가정하고 문자열로 다시 변환합니다."라고 말합니다.

file.encoding이 UTF-8이면 아무 것도 수행하지 않으며, 다른 것이면 문자열을 파기합니다.

여기서 필요한 것은 file.encoding의 올바른 설정입니다. 그러면이 여분의 것들이 필요하지 않습니다.