发送给服务器时,拉丁字符被错误地解释

时间:2019-01-25 06:41:52

标签: java character-encoding internationalization

我的应用程序是多语言支持。有些西班牙用户在文本框/文本区域中键入一些拉丁字符,例如á,é,í,ó,ú,ü,ñ,¿,¡

我尝试添加页面编码

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

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

但是在发送到服务器并显示时仍然显示不正确。

例如。用户键入comunicación,但在数据库中将其存储为comunicación

1 个答案:

答案 0 :(得分:0)

这是编码问题。以某种方式更改了编码。我添加了编码过滤器。它可以正常工作。

<filter>
    <filter-name>encoding-filter</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>encoding-filter</filter-name>
       <url-pattern>/*</url-pattern>
</filter-mapping>