我正面临编码问题。在我从标头解析键值对之后,字符ü将为¼。
我的应用程序(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) {