当我通过HTTP标头值发送â
之类的特殊字符时,我得到一个不同的unicode字符request().getHeader()
。
我知道不建议通过HTTP标头发送特殊字符,但这是我的要求,首先我认为这是因为JVM编码没有设置为UTF-8。但即使在设定之后,我也会遇到同样的问题。
我见过有人问过类似的问题:
Play Framework Unicode symbols in HTTP Header
但是没有得到答案。
答案 0 :(得分:0)
它不是关于Play或Java,而是关于HTTP标准。您需要对这些字符进行编码,无法保证在HTTP标头中发送非ASCII字符。
How to send non-English unicode string using HTTP header?
Illegal characters in HTTP headers
Sending non-ASCII text in Http POST header
What character encoding should I use for a HTTP header?
即使对于RFC5987:
handling filename* parameters with spaces via RFC 5987 results in '+' in filenames