簡體   English   中英

特殊字符的表單字符編碼問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM