java - 我的 RESTful API 与 Node/Express 的字符编码错误

标签 java node.js

我有一个应用程序,它发出一个插入用户的发布请求,如下所示:

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/

相关文章:

java - AspectJ 有没有办法从 Before 检索返回值并在切入点内使用它?

node.js - Elasticsearch错误: [parsing_exception] [match_phrase] query does not support [first_name]

node.js - {{#each ...}} 中的 Expressjs app.locals 无法访问

canvas - 您推荐哪些资源来学习以下 node.js、socket.io、redis mashup

java - 它不会抛出异常 ConcurrentModificationException

java - 如何在我的网络应用程序上登录 Facebook 后调用主页

java - Junit 测试单独通过,而不是分组通过

java - 在运行时动态更改 JButton 属性

javascript - Node.js 服务 HTML,执行命令行和回调函数

node.js - 为什么我通过 spawn() 创建的 Node 子进程挂起?