使用nodeFetch在JSON API响应中正确显示特殊字符

时间:2019-06-21 13:02:16

标签: javascript html json reactjs special-characters

我有一个React应用,可通过HTTP与RESTful API通信。 该API返回的JSON响应正文可能包含特殊字符。

示例响应如下:

{
    "name": "Property One",
    "description": "Res Thick Film 0805 49.9 Ohm 1% 0.25W(1/4W) ±100ppm/°C Pad SMD Automotive T/R",
    ...
}

有问题的特殊字符为(但不限于)±和°。

我使用nodeFetch执行请求,如下所示:

nodeFetch(url, { method: 'GET', headers }).then(response => response.json());

如果在使用response.json()反序列化对象之后观察到该对象,则description属性现在看起来像这样:

"Res Thick Film 0805 49.9 Ohm 1% 0.25W(1/4W) �100ppm/�C Pad SMD Automotive T/R"

如何停止将特殊字符替换为??

2 个答案:

答案 0 :(得分:1)

您可能还会看到此问题,也许cskau-g repost应该可以帮助您 https://github.com/dart-lang/http/issues/175

我认为问题在于编码为utf-8,并且内容类型必须设置为text / html

答案 1 :(得分:1)

您可能应该将标题设置为:#define SHARED_SIZE 0x18000 // 96 kbyte cudaFuncSetAttribute(func, cudaFuncAttributeMaxDynamicSharedMemorySize, SHARED_SIZE) Fuction.set_shared_size(bytes)Content-Type开箱即用地支持text/html; charset=utf8