我遇到一个问题,这个带有法语单词的网址'localhost:4020/share/Fr?chars=ECYCÉDN'
无法在Node V6.10.0
中解析,但可以在Node V0.10.42
下正确解析。
以下是我的代码的详细信息
Express
app.use bodyParser.urlencoded({ extended: false })
app.use bodyParser.json({ limit: '20mb' })
app.use bodyParser.urlencoded({ limit: '20mb', extended: false })
并在上面的url路由器中输出chars
router = express.Router()
router.get '/share/:lang', (req, res, next) ->
console.log(req.query.chars)
我使用curl 'localhost:4020/share/Fr?chars=ECYCÉDN'
测试此服务器,结果为
节点v0.10.42
{"chars":"ECYCÉDN"}
Node v6.10.0
{"chars":"ECYCÃ DN"}
快递版本为4.15.2
我想知道为什么在Node V6.10.0下无法正确解析这个法语单词?
我认为这可能是字符编码问题。但是,我尝试使用querystring
的querystring.unescape
或querystring.escape
,但效果不佳。
更新
当我尝试在路由器console.log(JSON.stringify(req.query))
中输出'/share/:lang'
时,结果为{"chars":"ECYCÃ DN"}
,chars
的长度为8
。