스프링 3 MVC와 MySQL 5를 내 DB로 사용하고 있습니다.봄 3 MVC : 양식에서 € 기호를 저장하는 방법?
데이터베이스의 객체를 업데이트하기 위해 Spring 양식 태그를 사용하여 양식을 만들었습니다.
이 양식의 텍스트 입력 필드 중 하나에 "티켓 가격 : 35 유로"를 입력하고 항목을 저장합니다. 그런 다음 표시 페이지에서 항목을 보면 텍스트가 "Ticket price :? 35"로 표시됩니다.
MySql Query Browser를 사용하여 "Ticket price : € 35"를 데이터베이스에 직접 입력하면 유로화 기호가 표시 페이지를 통해 잘 표시됩니다.
스프링 폼이 유로화를 데이터베이스에 올바르게 저장하려면 어떻게해야합니까?
업데이트 :
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>
org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>baseApp</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>baseApp</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
더 이상의 생각 :
안녕, 내 web.xml 파일은 다음과 같습니다 .. 행운과 함께, 귀하의 제안, Bozho를 시도?
안녕하세요, 답변 주셔서 감사합니다. 이 필터를 추가하려고 시도했지만 불행히도 여전히 동일한 문제가 발생했습니다. 유로화 기호가 물음표로 나타납니다. 더 이상의 생각? –
여전히 동일한 문제가 발생하면 JDBC/DB는 char을 UTF-8로 유지하지 못합니다. 연결 문자열에'useUnicode = yes'를 추가하십시오. MySQL은 이것에 관해서 약간 이상하게 여깁니다. – BalusC
위와 같이 web.xml의 이전 변경 사항뿐 아니라 데이터 소스 URL도 변경되었습니다. 이제는 예외가있는 양식을 저장할 때 오류 org.hibernate.util.JDBCExceptionReporter - 데이터 잘림 : 행 1의 열 '설명'에 대해 잘린 데이터 . '설명'은 내가 입력하는 필드이며 MySQL 데이터 유형은 TEXT입니다. 이 예외가 발생하는 이유에 대한 의견이 있으십니까? –