嗨,我有一个网页,其中提交了一个像这样的字符说José Luis Calleja Garcia
但是在服务器中,它会转换为José Luis Calleja Garcia
。
我不知道我在做什么错。我应该设置什么配置才能将其作为José Luis Calleja Garcia
。
我正在角度服务中提交这样的多部分请求
var config = {
method: "POST",
url: 'some url',
headers: { 'Content-Type': false },
transformRequest: function (data) {
var formData = new FormData();
formData.append("model", angular.toJson(data.getFormDefinition()));
for (var i = 0; i < data.files.length; i++) {
formData.append(data.files[i].name, data.files[i]);
}
return formData;
},
data:requestModel
};
我的服务器端对象映射器配置是这样的
public class CustomViewObjectMapper extends ObjectMapper{
public CustomViewObjectMapper() {
super();
this.setAnnotationIntrospector(new JaxbAnnotationIntrospector());
this.configure(DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);
this.configure(SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS, false);
}
}
我在这里先向您的帮助表示感谢
最佳答案
é的Unicode代码点是U + 00E9,在UTF-8中变为0xC3 0xA9。现在,在ISO-8859-1中,0xC3是Ã,而0xA9是©。因此,似乎您是以UTF-8发送数据,但将其解释为ISO-8859-1。
或者,您可以尝试添加内容类型标头:
Content-Type: application/json; charset=utf-8
确保服务器正确解释它。