Spring 3 MVC: Как сохранить символ € с формы? - PullRequest
0 голосов
/ 12 июля 2010

Я использую Spring 3 MVC и MySQL 5 в качестве моей БД.

Я создал форму, используя теги Spring для обновления объекта в моей базе данных.

Я ввожу "Цена билета: 35 евро" в одно из полей ввода этой формы и сохраняю элемент. Затем, когда я просматриваю товар на экранной странице, появляется текст «Цена билета:? 35».

Если я введу «Цена билета: 35 евро» непосредственно в базу данных с помощью MySql Query Browser, то символ евро будет отображаться на странице дисплея.

Что мне нужно сделать, чтобы моя весенняя форма правильно сохраняла символ евро в базе данных?


Обновление

Привет, я попробовал ваше предложение, Божо, но не повезло ... мой web.xml выглядит так:

<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>

Есть еще мысли?

Ответы [ 2 ]

2 голосов
/ 12 июля 2010

Использовать фильтр кодировки символов пружины.В web.xml

<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>

и сопоставьте его сервлету по умолчанию

Тогда ваша строка подключения MySQL должна выглядеть так:

0 голосов
/ 12 июля 2010

Вы должны убедиться, что кодировка вашей строки, содержащей €, установлена ​​на правильную кодировку (такую ​​же, как в вашей таблице).Я бы предложил использовать UTF-8

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...