我正在从node中间层拨打到Java后端,并将一个字符串作为查询参数传递。一切都很好,直到使用非英文字母字符(例如:ř、ý)为止。当Java接收到这些字符时,它会抛出以下异常:
parse exception: org.eclipse.jetty.util.Utf8Appendable$NotUtf8Exception: Not valid UTF8!
这个调用完美运作:
GET http://localhost:8000/server/name?name=smith
这个调用出现了上述错误:
GET http://localhost:8000/server/name?name=sořovský
我的问题涉及到在哪里解决这个问题。 我找到了适用于Node的utf8编码器,并考虑在将来调用Java层之前将我的字符串编码为utf8。 这是正确的方法吗?还是我应该在Java内部做些什么?
请注意,这是我相关请求头的样子:
{
...
accept: 'application/json, text/plain, */*',
'accept-encoding': 'gzip, deflate, sdch',
'accept-language': 'en-US,en;q=0.8,el;q=0.6',
...
}
GET
请求。 - MattDionis