node.js - 自定义 HTTP header 值 - 尝试传递元音变音字符

标签 node.js express character-encoding diacritics

我正在使用 Node.js 和 Express.js 3.x。

作为我们的授权 header 之一,我们传递用户名。我们的一些用户名包含元音变音字符:ü ö ä 等。 对于仅包含“正常”字符的用户名,一切正常。但是,当 jörg 尝试发出请求时,服务器无法识别 header 中的变音字符。

尝试模拟问题 I:

  • 创建了一些使用变音字符设置用户名标题的测试。这些测试通过了,他们能够正确地通过变音符号。
  • 使用“ postman ”和“高级休息客户端”Chrome 扩展程序,并向服务器手动发出请求 - 在本例中失败。我看到服务器无法识别元音变音字符,它只是将其解释为某种 ?

自定义 HTTP header 值字符是否有任何限制,禁止使用此类字符?知道为什么它可以在测试中工作,但不能在我的浏览器扩展中工作吗?我是否忘记在某处设置一些字符集?

最佳答案

其他相关问题和评论中所写内容的摘要:

  • 您可以输入任何'printable' ASCII char在您的自定义 header 值字段中。
  • 如果您想使用特殊字符,请按照您选择的任何规则/字符集/编码对这些字符进行编码。只要这个编码使用简单的 ASCII 字符,就可以了。一个示例是使用 UTF-8 并将字符串字符编码为\u%%。
  • 在服务器端 - 您必须手动理解编码的字符串,可能是使用您之前选择的字符集/编码范例的规则对其进行解码。

关于node.js - 自定义 HTTP header 值 - 尝试传递元音变音字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23489832/

相关文章:

node.js - 未调用模拟 Jest 回调方法

javascript - process.env 在 `npm run build` (Ubuntu) 时不包含 ENV VARS

javascript - 如果数据的格式略有损坏,是否仍然可以确定其文件类型?

Javascript - 为每个用户创建唯一的文件

javascript - 如何访问传递给 Node 中的 next() 函数的值

javascript - 刷新后 socket.io 客户端多次监听同一事件

html - Express 中的 400/500 错误处理程序 - 发送 JSON 与 HTML

c++ - 有没有办法,或者需要写一个通用的模板化字 rune 字

python - “ascii”编解码器无法解码字节(使用 django 时出现问题)

mysql - 在 MySQL 中存储表情符号时出现编码问题 : How can I define a character collation in NodeJS using Prisma ORM?