파일 을 다운로드 할 때 파일 이름 이 어 지 러 워 집 니 다.

더 읽 기
파일 을 다운로드 할 때 메시지 헤더 에 파일 이름 을 설정 하여 다운로드 한 파일 이름 을 설정 합 니 다.예.
response.setHeader("Content-Disposition", "attachment;fileName=" + fileName)

 그러나 파일 이름 이 중국어 일 때 파일 이름 이 어 지 러 운 것 을 발견 할 수 있 습 니 다.처리 방법 은 파일 이름 이 브 라 우 저 에 따라 바 뀌 는 것 을 말한다.
 
/**
	 *                  UTF8    ,                .
	 * 
	 * @param s
	 *                
	 * @return          
	 */
	public static String toUtf8String(HttpServletRequest request, String s) {
		String agent = request.getHeader("User-Agent");
		try {
			boolean isFireFox = (agent != null && agent.toLowerCase().indexOf(
					"firefox") != -1);
			if (isFireFox) {
				s = new String(s.getBytes("UTF-8"), "ISO8859-1");
			} else {
				s = toUtf8String(s);
				if ((agent != null && agent.indexOf("MSIE") != -1)) {
					// see http://support.microsoft.com/default.aspx?kbid=816868
					if (s.length() > 150) {
						//   request locale        
						s = new String(s.getBytes("UTF-8"), "ISO8859-1");
					}
				}
			}
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
		return s;
	}

좋은 웹페이지 즐겨찾기