我在春季休息时写了一个api。我和邮递员一起测试,我用param将此API称为:内容:60天`。
当我通过下面的函数将其捕获到后端时:
Result<List<T>> search(HttpServletRequest request, HttpServletResponse response,@RequestParam(name="search") String search) {
Map<String, String[]> params = request.getParameterMap();
return getService().resolve(params);
}
’
之后的days
是Unicode Character 'RIGHT SINGLE QUOTATION MARK' (U+2019)。
在UTF-8中,该字符被编码为字节E2 80 99
。
在ISO-8859-1中,这些字节是â
和两个不可打印字符。
结论:邮递员以UTF-8格式发送内容,但服务器以ISO-8859-1格式读取。
现在您可以尝试找出为什么存在这种差异,但是您是否真的打算在内容中包含“正确的单引号”?