2014-05-12 2 views
0

에서 파일 업로드에 표시 나는 JSP/서블릿 응용 프로그램은 다음과 같이 작동이 :타이 문자 표시 ????? JSP

1

2가 내용을 읽을 JSP 페이지에서 엑셀 시트를 업로드하고 서블릿에서 MySQL의에 추가/자바 코드

내가 Excel에서 아랍어 문자가있는 경우가

로 DB에 추가됩니다 문제 ????

   "multipart/form-data;charset=utf-8" 

내가 MySQL이 테스트 = 파일 업로드 입력 난에 enctype 추가 HTML 폼에

   <%@ page language="java" 
       contentType="text/html; charset=utf-8" 
       pageEncoding="utf-8"%> 
       <meta http-equiv="Content-Type" 
      content="text/html; charset=utf-8"> 

하며 (아랍어 문자를 지원 JSP 파일에 난 다음과 같이 페이지 인코딩 변경 내가 삽입 할 수있는 콘솔을 통해 선택) 및 아랍어 DB를 읽고 그것을 JSP로 그것을 잘 작동합니다 볼 때! 내 로컬 sytem correctlly 작동하지만 server.then war 파일을 배포 할 때 업로드 엑셀 파일을 표시 ???? ????? 데이터베이스에 표시

내가 업로드하는 부분에 문제가 있다고 생각합니다! 어느 누구도 제발 도와 줄 수 없나요?

감사합니다.

답변

0

저는이 문제가 Excel 파일의 인코딩이라고 생각합니다. 다른 소스 (시트)에서 데이터를 읽는 중이라면 HTML 인코딩은 중요하지 않습니다. 엑셀은 Windows 시스템에서 업로드하는 경우, 인코딩은 아마 UTF-8이 아니라 CP-1252 CP-1256

UPDATE : Windows-1252ISO 8859-6에 따라 windows-1256을 사용하여 아랍어 characteres 창 라틴어 하나입니다. UTF-8은 각 문자에 대해 1 ~ 4 바이트를 사용하지만 ISO 8859는 각 문자에 대해 하나만 사용하므로 둘을 섞으면 문제가 발생합니다.

+0

CP-1252을 삽입에 사용되는 연결을? 삽입 할 때 – user3627885

0

서블릿에서 Excel 파일을 읽을 때 해당 파일을 UTF8 스트림으로 읽어야합니다. 그런 다음 우리는이를 넣어 데이터베이스에 데이터, 당신은 무엇 타이어 문자에 대한 예를 들어, UTF8 연결로 선언해야합니다

DriverManager.getConnection("jdbc:mysql://"+host+"/"+dbName+"?useUnicode=true&characterEncoding=UTF-8",user,pass);