我在我的博客页面上收到此错误: 正确定义字符集错误!需要字符编码声明。可以通过 HTML 的前 1024 字节或 Content-Type HTTP 响应标头中的标签来完成。了解有关声明字符编码的更多信息。
尽管页面上有
<meta charset="UTF-8" />
,但我的索引页面和其他页面上没有出现此错误。
我的_document.js:
import Document, { Html, Head, Main, NextScript } from 'next/document'
class MyDocument extends Document {
static async getInitialProps(ctx) {
const initialProps = await Document.getInitialProps(ctx)
return { ...initialProps }
}
render() {
return (
<Html lang="ja">
<Head>
<meta charset="UTF-8" />
</Head>
<body>
<Main />
<NextScript />
</body>
</Html>
)
}
}
export default MyDocument
当我减少从博客页面上的 getserversideprops 返回的数据量时,错误就会消失。这与正确定义字符集错误有关吗?
如果是这样,我会从客户端返回一些数据,但这会影响 SEO。
如何解决这个问题?
我尝试减少 getserversideprops 中从 MySQL 数据库返回的数据量,错误消失了。
我还发现大页面会触发此错误,而网站不同部分的较小页面则不会。我认为这是一个灯塔错误。