Spring MVC 返回类型为字符串时, 返回中文变成"?"处理

转自:http://www.cnblogs.com/zemliu/p/3497025.html

这里使用ResponseBody, 返回值直接是一个字符串, 没有用到jackson, 如果是返回一个Object, 使用jackson转json, 是没有编码问题的

这时酒店查询几个字全都变成了问号

由于Spring处理返回值为String类型的结果时使用了StringHttpMessageConverter, 所以我们需要配置他的编码

    <bean id="utf8Charset" class="java.nio.charset.Charset"
          factory-method="forName">
        <constructor-arg value="UTF-8"/>
    bean>

    <mvc:annotation-driven>
        <mvc:message-converters>
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <constructor-arg ref="utf8Charset"/>
            bean>
        mvc:message-converters>
    mvc:annotation-driven>

你可能感兴趣的:(Java语言,框架)