问题描述
目前,Logbook 以错误的编码(ISO-8859-1 而不是 UTF-8)记录请求和响应,这就是西里尔字母显示不正确的原因。
const useStyles = makeStyles((theme) => ({
cardMedia: {
height: 0,paddingTop: '100%','&:hover': {
cursor: 'pointer',},card: {
maxWidth: 345,borderRadius: 30,}));
const PhotoCard = ({ photo }) => {
const classes = useStyles();
return (
<Card className={classes.card}>
<CardMedia
className={classes.cardMedia}
image={photo.image}
title="Paella dish"
/>
</Card>
);
};
目前(库版本 2.3.0),日志文本在 org.zalando.logbook.DefaultHttpLogFormatter#format(org.zalando.logbook.Correlation,org.zalando.logbook.HttpResponse) 中生成,其中 org 最终被称为.zalando。日志.servlet。 LocalResponse#getCharset,返回 ISO-8859-1 编码而不是 UTF_8。
如何更改编码?我该如何配置?
解决方法
我正在使用 spring boot,我遇到了同样的问题,application.yml 中的这些行帮助了我:
- 对于低于 2.3.0 的 spring boot 版本 spring.http.encoding.charset = UTF-8 和 spring.http.encoding.force-response = true
- 对于高于 2.3.0 的 spring boot 版本 server.servlet.encoding.charset = UTF-8 和 server.servlet.encoding.charset.force-response = true