我有一个应用程序,它发出一个插入用户的发布请求,如下所示:
email=Ali@gmail.com&name=Alí
然后用有线角色访问服务器
...
body: {
email: Ali@gmail.com,
name: Al?
}
就像这样如何保存在数据库中。
我在服务器中的代码很简单
router.post('user', (req, res) => {
const newUser = new User({
email: req.body.email,
name: req.body.name
});
newUser.save().then((usr) => {
const resp = { user: usr.fields(), code: 200 };
return res.status(200).send(resp);
}).catch(err => {
console.log(err);
});
});
客户端正在 Java 中使用 HTTPConnection:
StringBuffer response = new StringBuffer();
HttpURLConnection con = null;
URL obj = new URL(url);
obj = new URL(url);
con = (HttpURLConnection) obj.openConnection();
con.setConnectTimeout(3306);
//add request header
con.setRequestMethod("POST");
con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
con.setRequestProperty("User-Agent", "Mozilla/5.0");
con.setRequestProperty("Accept-Language", "en-US,en;q=0.5");
con.setRequestProperty("charset", "utf-8");
// Send post request
con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
if (params != null) {
wr.writeBytes(params);
}
wr.flush();
wr.close();
int responseCode = con.getResponseCode();
最佳答案
我认为您应该在 url 请求(客户端)中转义“í”字符。
类似的东西
email=Ali@gmail.com&name=Al%ED%20%0A
关于java - 我的 RESTful API 与 Node/Express 的字符编码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54887618/