[英]Form character encoding problems with special characters
您好,我有一個帶有html表單的jsp。
我將內容類型設置如下:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1" %>
當我發送諸如áéíú之類的特殊字符時,它們已正確保存在數據庫中。 我的表字符集是utf-8。
我想像這樣將iso-8859更改為utf-8,以標准化我的應用程序並接受更多特殊字符:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
但是當我將其更改為utf-8時,特殊字符áéíó不會正確保存在數據庫中。 當我嘗試保存á時,它將另存為á
在服務器端,我正在使用Spring MVC。 我得到這樣的文本字段值:
String strField = ServletRequestUtils.getStringParameter(request,
"field");
當您的頁面不是ISO-8859-1
,您需要在web.xml
聲明一個CharacterEncodingFilter
:
<filter>
<filter-name>charsetFilter</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>
</filter>
<filter-mapping>
<filter-name>charsetFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.