2013-06-05 4 views
0

스프링 MVC를 사용하고 있으며 일부 특수 문자가 Á, ñ, #, @ 등의 일부 레코드를 표시하는 테이블이있는 웹 페이지에 문제가 있습니다.JSP에서 특수 문자가 올바르게 표시되지 않습니다.

데이터베이스에 저장됩니다. 디버깅하는 동안 데이터베이스에서 바로 가져옵니다. 그러나 JSP에서 표시 할 때 특수 문자를 "?"로 대체합니다. (물음표).

내 web.xml 파일에서 다음과 같은 설정으로이 문제를 해결할 수 있습니다 :

<jsp-config> 
    <jsp-property-group> 
     <url-pattern>*.jsp</url-pattern> 
     <page-encoding>UTF-8</page-encoding> 
    </jsp-property-group> 
</jsp-config> 

하지만이를 설정할 때, 그 이전에 작업하던 기능에 약간의 문제가있어 : 내가 업로드 파일을 내 웹이 제대로 인코딩되지 않으며, 제대로 기록되지

<option value="name">Seleccione tipo de ordenación</option> 

처럼 내 JSP를 몇 가지 "하드"특성이 있습니다. 이 jsp-config를 사용하면이 옵션 (파일 업로드)이 정상적으로 작동합니다.

그래서이 jsp-config 속성을 설정하면 이전에 작동했던 것으로 실패합니다.

어떤 도움이 필요합니까? 감사!

+0

이 시도 : HTTP : //stackoverflow.com/questions/374573/character-encoding-jsp-displayed-wrong-in-jsp를 다음과 같은 문제를 해결했다으로 CP850 캐릭터 세트를 변경

-but-not-url-aaea – NINCOMPOOP

답변

0

글쎄, 마침내 나는 바보 같이 보였습니다 :) 나는 이름이 데이터베이스에 제대로 저장되었다고 들었습니다. 그러나 사실, 그렇지 않았습니다. 문제는 사용자가 업로드 할 때 파일을 디코딩 할 때입니다. 파일 자체는 Apache commons 압축으로 압축을 풀어야하는 ZIP 파일입니다. 파일이 영어 Windows 시스템에서 작성되었을 때 잘 작동하는 Cp437을 사용하여 파일을 여는 중이었습니다. 그러나 스페인어 Windows 시스템에서 파일을 작성할 때 파일을 열 때 실패했습니다.

zipFile = new ZipFile(f, "Cp850"); 
관련 문제