当前位置: 首页 > 知识库问答 >
问题:

nodejs中不支持的字符集“ISO-8859-1”

柴砚文
2023-03-14

在我的nodeJS应用程序中,我使用以下代码行获取req。身体

app.use(bodyParser.urlencoded({
    extended: false
}));

这工作正常,但对我的应用程序的一个请求会引发以下错误:

UnsupportedMediaTypeError: unsupported charset "ISO-8859-1"
    at urlencodedParser (/var/www/payment/node_modules/body-parser/lib/types/urlencoded.js:108:12)
    at Layer.handle [as handle_request] (/var/www/payment/node_modules/express/lib/router/layer.js:95:5)
    at trim_prefix (/var/www/payment/node_modules/express/lib/router/index.js:317:13)
    at /var/www/payment/node_modules/express/lib/router/index.js:284:7
    at Function.process_params (/var/www/payment/node_modules/express/lib/router/index.js:335:12)
    at next (/var/www/payment/node_modules/express/lib/router/index.js:275:10)
    at jsonParser (/var/www/payment/node_modules/body-parser/lib/types/json.js:118:7)
    at Layer.handle [as handle_request] (/var/www/payment/node_modules/express/lib/router/layer.js:95:5)
    at trim_prefix (/var/www/payment/node_modules/express/lib/router/index.js:317:13)
    at /var/www/payment/node_modules/express/lib/router/index.js:284:7

如果删除前一行,则该行适用于该请求,但在所有其他请求中,我无法检索数据。有办法解决这个问题吗?

共有1个答案

左丘季
2023-03-14

您可以将原始请求头修改为UTF-8。

我没有找到简单的方法截获urlencoded解析器,所以我只是将编码改为utf8

 类似资料:
  • 问题内容: 我正在开发一个项目,我们需要将我们的信息保存在具有ISO-8859-1表的旧数据库中。因此,在向数据库中写入内容之前,我需要将其从UTF-8转换为ISO-8859-1,并且每次从数据库中检索到它时,都需要将其转换回UTF-8。 我试图将库 **code.google.com/p/go-charset/** 用作以下每个我需要保留的文本字段。 问题是即使使用 toISO88591 函数,

  • 问题内容: 我有ISO-8859-1数据库,所以我希望完全在此代码页中交换请求。那么,如何以正确的方式设置AJAX请求的内容类型呢? 问题答案: 即使这样做很不好(上面有很多评论),也可以:

  • 我正在尝试使用Java中的套接字编写一个简单的应用程序,以逐行读取邮件服务器中的头。问题是,有时邮件主题具有不同的字符集(iso-8859-2),我无法正确显示一些特殊字符。使用系统时显示特殊字符的正确方式是什么。出来println(“ł”)?我知道我必须使用“String s.get bytes”,但无论如何它都不起作用。有没有可能正确显示特殊字符。也许我做错了什么(我是java新手),但在花了

  • 我尝试使用字符集latin1排序规则latin1\u general\u ci将字符集ISO-8859-15的字符串存储在MySQL字段中。 似乎这两者都不完全兼容。我无法保存正确的€-符号。 有人能告诉我ISO-8859-15的正确吗?

  • 主要内容:ISO-8859-1,HTML 预留字符,ISO 8859-1 字符实体现代的浏览器支持的字符集: ASCII 字符集 标准 ISO 字符集 数学符号、希腊字母、其他符号 ISO-8859-1 ISO-8859-1 是大多数浏览器默认的字符集。 ISO-8859-1 的较低部分(从 1 到 127 之间的代码)是最初的 ASCII 字符集(0-9 的数字,大写和小写英文字母表,以及一些特殊字符)。 ISO-8859-1 的较高部分(从 160 到 255 之间的代码)