在Java

时间:2019-02-27 15:32:49

标签: java spring-boot encoding

我正面临编码问题。在我从标头解析键值对之后,字符ü将为¼。

我的应用程序(Spring Boot Java App)正在从另一个Web服务器接收数据。第一个Web服务器上的数据已正确打印。如果我使用@RequestHeader抓取这些数据,则某些符号将无法正确解码。

示例:ü将为¼

我试图配置每个部分都使用UTF-8作为编码。

我的应用程序中的

html / jsp

<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />

Apache Config

AddDefaultCharset UTF-8

Spring Boot application.properties

# Encoding
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
spring.http.encoding.force=false
spring.messages.encoding=UTF-8
spring.banner.charset=UTF-8
spring.mandatory-file-encoding=UTF-8

如果我在spring boot应用程序上打印标题,我已经看到了错误的字符。

我如何从标题中获取数据。

@RequestMapping(value = "/myForm", produces = "text/plain;charset=UTF-8")
public String processForm(@Valid @ModelAttribute("myEntity") MyEntity theEntity,
        BindingResult theBindingResult,
        Model theModel,
        RedirectAttributes redirectAttributes,
        @RequestHeader(required = false, value = "username") String username,
        @RequestHeader(required = false, value = "firstname") String firstname,
        @RequestHeader(required = false, value = "lastname") String lastname,
        @RequestHeader(required = false, value = "mail") String email,
        @RequestHeader(required = false, value = "company") String company) {

0 个答案:

没有答案