形式的字符编码问题有特殊字符(Form character encoding problems wi

2019-10-30 02:01发布

你好,我有一个HTML表单的jsp。

我设置的内容类型如下:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1" %>

当我发送特殊字符,如A E I Oú他们在数据库中正确保存。 我的表字符集是UTF-8。

我想ISO-8859改为UTF-8这样的规范我的应用程序,并接受更多的特殊字符:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>

但是当我将其更改为UTF-8的特殊字符的E I O u那样没有在DATABSE正确保存。 当我尝试保存它保存为á

在服务器端我使用Spring MVC的。 我越来越喜欢这个文本字段值:

String strField = ServletRequestUtils.getStringParameter(request,
                    "field");

Answer 1:

当您的网页无法ISO-8859-1 ,你需要声明一个CharacterEncodingFilterweb.xml

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


文章来源: Form character encoding problems with special characters