“内容类型:application/json;charset=utf-8”的真正含义是什么?

2024-01-05

当我向 REST 服务发出带有 JSON 正文的 POST 请求时,我包括Content-type: application/json; charset=utf-8在邮件标题中。如果没有此标头,我会从服务中收到错误。我也可以成功使用Content-type: application/json没有;charset=utf-8部分。

到底是做什么的charset=utf-8做 ?我知道它指定了字符编码,但没有它服务也可以正常工作。此编码是否限制消息正文中可以包含的字符?


标头仅表示内容的编码内容。不一定可以从内容本身推断出内容的类型,即您不一定可以仅查看内容并知道如何处理它。这就是 HTTP 标头的用途,它们告诉接收者他们(应该)正在处理什么类型的内容。

Content-type: application/json; charset=utf-8指定内容为 JSON 格式,以 UTF-8 字符编码进行编码。对于 JSON 来说,指定编码有点多余,因为 JSON 的默认(唯一?)编码是 UTF-8。因此,在这种情况下,接收服务器显然很高兴知道它正在处理 JSON,并假设默认编码为 UTF-8,这就是它在有或没有标头的情况下工作的原因。

此编码是否限制消息正文中可以包含的字符?

不。您可以在标头和正文中发送任何您想要的内容。但是,如果两者不匹配,您可能会得到错误的结果。如果您在标头中指定内容采用 UTF-8 编码,但实际上发送的是 Latin1 编码内容,则接收方可能会生成垃圾数据,并尝试将 Latin1 编码数据解释为 UTF-8。当然,如果您指定要发送 Latin1 编码数据并且您确实这样做了,那么是的,您只能使用 Latin1 编码的 256 个字符。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“内容类型:application/json;charset=utf-8”的真正含义是什么? 的相关文章

  • 将十六进制字节数组解码为特定代码页在随后编码时会产生错误结果

    我创建了一个简单的应用程序 如下所示 String stringValue new String new byte 0x00 0x00 0x00 0x25 273 byte valueEncoded Arrays copyOfRange s
  • 设置特定div的字符集

    是否可以为特定的 div 分配字符集 这样你就可以在一页上拥有多个字符集 我目前正在通过 JS 将文本片段导入到我的网站 其中一些文本需要 UTF 8 字符集 为了确保我的文本正确显示在包含的每个页面 有时是外部站点 上 我将元标记强制添加
  • #1115 - 未知字符集:'utf8mb4'

    我的电脑上运行着一个本地网络服务器 用于本地开发 我现在正处于导出数据库并导入到我的托管 VPS 的阶段 导出然后导入时出现以下错误 1115 未知字符集 utf8mb4 有人能指出我正确的方向吗 该错误明确表明您没有utf8mb4您的阶段
  • 如何去除 XSL 中字符的重音符号?

    我一直在寻找 但找不到相当于字符 规范化空间 的 XSL 函数 也就是说 我的内容带有重音 UNICODE 字符 这很好 但是从该内容中 我正在创建一个文件名 但我不想要这些重音 那么 是否有一些我忽略的东西 或者没有正确地谷歌搜索来轻松处
  • 有没有办法通过chrome的resourceType获取所有mime类型

    chrome api中有多种resourceType类型 例如 文档 样式表 图像 媒体 字体 脚本 TextTrack XHR Fetch EventSource WebSocket Manifest 其他 现在我想知道resourceT
  • Python urllib.request.urlopen:AttributeError:'bytes'对象没有属性'data'

    我正在使用 Python 3 并尝试连接到dstk 我收到错误urllib包裹 我对SO进行了很多研究 但找不到与这个问题类似的东西 api url self api base street2coordinates api body jso
  • PHP 和 MySQL 的重音字符错误

    我的问题是 直接通过 PHP 编写的内容是正确重音的 但是当重音单词来自 MySQL 时 字母会像这样 我尝试使用html charset as ISO 8859 1它修复了 MySQL 字母 但破坏了其他字母 解决这一切的一种方法是设置我
  • Android 中的短信编码

    我的问题是我想发送特定类别和特定编码的短信 0 类和 7 位编码 当检查 Android Telephony SmsManager 和 SmsMessage 时 您无能为力 SmsManager 提供两个功能 发送文本消息和发送数据消息 如
  • CSS @font-face 有时在 Internet Explorer 中有效,但并非总是有效

    我在使用 Internet Explorer 11 中的网络字体时遇到问题 该字体适用于某些使用 IE11 的用户 但不适用于其他用户 即使它们是同一浏览器 对于遇到问题的用户 Modernizr fontface 仍然返回 true 因此
  • 问号字符显示在文本中。为什么是这样?

    我有一个备份服务器 可以自动备份我的实时站点 包括文件和数据库 在实时站点上 文本看起来不错 但是当您查看它的镜像版本时 它会显示 在某些文本中 该文本存储在新闻数据库表中 这是实时服务器和镜像服务器上的屏幕截图 将其备份到镜像服务器的过程
  • 汉字编码?

    我有一个用例 我通过发布请求向 spring 控制器提交参数 在控制器中 我正在读取参数并执行一些操作 之后 我将这些参数作为请求参数的一部分发送到其他 URL 在这里我无法处理中文字符 它变得乱码 我现在正在做的行动 1 我将下面的中文文
  • Java:如何检测(并更改?)System.console 的编码?

    我有一个在控制台上运行的程序 其变音符号和其他特殊字符在 Mac 上以 的形式输出 这是一个简单的测试程序 public static void main String args System out println h h System
  • 法语和西班牙语的特殊字符可以保存在 varchar 中吗?

    法语和西班牙语中有普通英语中不使用的特殊字符 重音元音等 varchar 是否支持这些字符 或者我需要一个 nvarchar 吗 注 我愿意NOT希望讨论我是否应该使用 nvarchar 还是 varchar 您在谈论什么 SQL 实现 我
  • 从命令行执行查询时出现 PostgreSQL 编码问题

    我正在尝试执行存储在文件中的 SQL 查询 我正在使用以下命令来执行 psql d DB NAME a f QUERY NAME sql 我在 SQL 文件中有一些非英语文本 例如 执行查询时 数据库中的文本如下所示 我如何执行查询命令行以
  • 使用 Python 2.7 和 MySQLdb 将二进制数据插入 MySQL 中的 blob 列时如何避免编码警告

    我在将二进制数据插入到longblob使用 Python 2 7 中的 MySQLdb 在 MySQL 中的列 但我收到一个编码警告 我不知道如何解决 test py 11 Warning Invalid utf8 character st
  • 使用 System.out.println 显示特殊字符

    我在将带有特殊字符的文本从网络服务发送或显示到数据库时遇到问题 在我的 Eclipse 上 我已将字符编码设置为 UTF 8 但它仍然不允许我显示字符 例如 像下面的代码一样简单的打印 String test System out prin
  • Jetty字符编码问题

    我面临码头字符编码的问题 当在Mac OSX 上安装jetty服务器时 它工作正常 但是 当它安装在Ubuntu 10 10 上时 字符编码不正确 有问题的页面 不是 URL 中的单词是 The New York Times Bestsel
  • JSF 2.0 request.getParameter 返回编码错误的字符串

    我正在用 JSF 2 0 编写一个应用程序 它支持多种语言 其中包括带有特殊字符的语言 我使用 String value request getParameter name 和 POST 方法 页面编码设置为 UTF 8 应用程序部署在 a
  • 电子邮件标题中的特殊字符是什么以及何时使用引号?

    我正在尝试使用 PHP 发送和阅读电子邮件 到目前为止 我发现我必须使用该函数对特殊字符进行编码mb encode mimeheader 但我不必对空格进行编码 我还发现地址字段中的括号不起作用 读取带有括号的标题时 PHP 的 imap
  • Angular - 无法加载模块脚本:

    我在生产中有 Angular 8 前端应用程序 其无法加载模块脚本 服务器以非 JavaScript MIME 类型 text html 进行响应 根据 HTML 规范对模块脚本强制执行严格的 MIME 类型检查 此问题仅在生产版本中发生

随机推荐