spring框架mvc本地化

spring框架mvc本地化,spring,jsp,Spring,Jsp,我正在尝试向我们的SpringMVC应用程序添加国际化和本地化支持。 我在*-servlet.xml中进行了这样的编码 <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> <property name="basename" value="classpath:messages" /> <property n

我正在尝试向我们的SpringMVC应用程序添加国际化和本地化支持。 我在*-servlet.xml中进行了这样的编码

<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="classpath:messages" />
<property name="defaultEncoding" value="UTF-8"/>

但我发现了下面这样的错误字符

我想不出应该解决什么问题。如果可能的话,请让我知道


我已经在jsp页面中添加了如下内容:


但它不起作用

可重新加载的ResourceBundleMessageSource的
defaultEncoding
属性用于

设置用于解析属性文件的默认字符集。如果使用 没有为文件指定特定于文件的字符集

这与客户如何读取响应无关。如果您使用
jsp
生成响应,那么可以在开始时给它这一行

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

这样客户机就知道您正在提供使用
UTF-8
字符集编码的数据


如果您没有使用
jsp
,有其他方法可以直接从
HttpServletResponse
或从返回的
ResponseEntity
对象设置
内容类型
内容编码

使用以下内容更新默认编码:

<property name="defaultEncoding" value="ISO-8859-1" />

这应该适用于渲染带有重音的字符。 至少它对我的spring项目(法语和欧洲语言/用户)有效

如果这不是您的选项(目标用户的更多受众),请尝试将其添加到jsp中:

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

...

请出示您的控制器。请稍等片刻。我想补充一点,您应该确保您的属性文件位于UTF-8上