JavaScript Fetch:包含编码问题的字符

问题描述 投票:0回答:2

我正在尝试使用Fetch将一些数据带入屏幕,但是有些角色显示出一个奇怪的 标志,我认为这与转换特殊字符有关。

在服务器端调试或者我在浏览器上调用servlet时,问题不会发生,所以我认为问题出在我的JavaScript上。请参阅以下代码:

var myHeaders = new Headers();
myHeaders.append('Content-Type','text/plain; charset=UTF-8');

fetch('getrastreiojadlog?cod=10082551688295', myHeaders)
        .then(function (response) {
            return response.text();
        })
        .then(function (resp) {
            console.log(resp);
        });

我认为这可能是一些细节,但我还没有设法找出发生了什么。所以欢迎任何提示Thx

javascript utf-8 character-encoding fetch
2个回答
0
投票

也许您的服务器没有返回utf-8编码的响应,尝试查找使用的字符集,然后在调用标头中修改它。也许ISO-8859-1:

myHeaders.append('Content-Type','text/plain; charset=ISO-8859-1');

0
投票

事实证明,问题在于servlet如何在没有明确通知响应的编码类型的情况下提供数据。通过在Java servlet中添加以下行:

response.setContentType("text/html;charset=UTF-8");

有可能得到正确格式的字符。

© www.soinside.com 2019 - 2024. All rights reserved.