From 64a83269899016e8bb61a4c13bb96659df2cc213 Mon Sep 17 00:00:00 2001 From: qxo Date: Mon, 27 May 2019 17:48:01 +0200 Subject: [PATCH] Set UTF-8 charset for whitelabel HTML error pages This commit changes the HTTP response Content-Type for whitelabel error pages with Spring WebFlux. See gh-16611 --- .../web/reactive/error/DefaultErrorWebExceptionHandler.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/error/DefaultErrorWebExceptionHandler.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/error/DefaultErrorWebExceptionHandler.java index 568e08b84e..1171f94a10 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/error/DefaultErrorWebExceptionHandler.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/error/DefaultErrorWebExceptionHandler.java @@ -105,6 +105,8 @@ public class DefaultErrorWebExceptionHandler extends AbstractErrorWebExceptionHa this::renderErrorResponse); } + private static final MediaType HTML_CONTENT_TYPE = MediaType.valueOf(MediaType.TEXT_HTML_VALUE+";charset=UTF-8"); + /** * Render the error information as an HTML view. * @param request the current request @@ -115,7 +117,7 @@ public class DefaultErrorWebExceptionHandler extends AbstractErrorWebExceptionHa Map error = getErrorAttributes(request, includeStackTrace); HttpStatus errorStatus = getHttpStatus(error); ServerResponse.BodyBuilder responseBody = ServerResponse.status(errorStatus) - .contentType(MediaType.TEXT_HTML); + .contentType(HTML_CONTENT_TYPE); return Flux .just("error/" + errorStatus.value(), "error/" + SERIES_VIEWS.get(errorStatus.series()), "error/error")