node.js解決客戶端請(qǐng)求數(shù)據(jù)里面中文亂碼的事件方法
node.js解決客戶端請(qǐng)求數(shù)據(jù)里面中文亂碼的事件
例如代碼:
var http = require('http');
var server = http.createServer();
server.on('request',function(req,res){
// res.end("hello world");
res.end("你好 世界");
});
server.listen(3000,function(){
console.log("Server is running");
});

原因:
在服務(wù)端默認(rèn)發(fā)送的數(shù)據(jù),其實(shí)是UFT8編碼內(nèi)容
但是瀏覽器不知道你是UFT8編碼內(nèi)容
瀏覽器在不知道服務(wù)器響應(yīng)內(nèi)容的編碼情況下會(huì)按照當(dāng)前操作系統(tǒng)的默認(rèn)編碼去執(zhí)行
中文操作系統(tǒng)默認(rèn)是GBK
解決方法:正確是告訴瀏覽器我給你發(fā)送的是什么類型的數(shù)據(jù)res.setHeader('Content-Type','text/plain;charset=utf-8');內(nèi)容類型,注意連接符不要寫錯(cuò),utf-8也不要亂寫。在http協(xié)議中,content-Type就是用來告知對(duì)方我給你發(fā)送的數(shù)據(jù)內(nèi)容是什么類型,然后后面就是緊跟著寫上類型
var http = require('http');
var server = http.createServer();
server.on('request',function(req,res){
// res.end("hello world");
res.setHeader('Content-Type','text/plain;charset=utf-8');
res.end("你好 世界");
});
server.listen(3000,function(){
console.log("Server is running");
});

注意這里的類型有很多種
響應(yīng)內(nèi)容類型Content-Type
var http = require('http');
var server = http.createServer();
server.on('request',function(req,res){
if(req.url==='/plain'){
res.setHeader('Content-Type','text/plain;charset=utf-8');
res.end("你好 世界");
}else if(req.url==='/html'){
res.setHeader('Content-Type','text/html;charset=utf-8');
res.end("<h1>你好 世界<br/> hello world</h1>");
}
});
server.listen(3000,function(){
console.log("Server is running");
});
根據(jù)不同請(qǐng)求路徑返回不同的類型Content-Type格式

到此這篇關(guān)于node.js解決客戶端請(qǐng)求數(shù)據(jù)里面中文亂碼的事件方法的文章就介紹到這了,更多相關(guān)node 客戶端請(qǐng)求數(shù)據(jù)亂碼 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
node.js配置Token驗(yàn)證的2種方式總結(jié)
token驗(yàn)證,在設(shè)計(jì)登錄注冊(cè)和一些權(quán)限接口時(shí)發(fā)揮作用,下面這篇文章主要給大家介紹了關(guān)于node.js配置Token驗(yàn)證的2種方式,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02
node.js學(xué)習(xí)之?dāng)嘌詀ssert的使用示例
assert 模塊主要用于編寫程序的單元測(cè)試時(shí)使用,通過斷言可以提早發(fā)現(xiàn)和排查出錯(cuò)誤。下面這篇文章主要給大家介紹了關(guān)于node.js學(xué)習(xí)之?dāng)嘌詀ssert的相關(guān)資料,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09
基于NodeJS的前后端分離的思考與實(shí)踐(六)Nginx + Node.js + Java 的軟件棧部署實(shí)踐
關(guān)于前后端分享的思考,我們已經(jīng)有五篇文章闡述思路與設(shè)計(jì)。本文介紹淘寶網(wǎng)收藏夾將 Node.js 引入傳統(tǒng)技術(shù)棧的具體實(shí)踐。2014-09-09
如何在node.js中使用?JsonWebToken模塊進(jìn)行token加密
目前在web框架中最流行的身份驗(yàn)證是使用jsonwebtoken,簡(jiǎn)稱jwt.可以設(shè)置加密方式,過期時(shí)間,存放個(gè)人信息,逆解析,下面這篇文章主要給大家介紹了關(guān)于如何在node.js中使用?JsonWebToken模塊進(jìn)行token加密的相關(guān)資料,需要的朋友可以參考下2023-03-03
Ubuntu服務(wù)器上安裝Node.js的三種不同方法介紹
Node.js是一個(gè)強(qiáng)大的 JavaScript 運(yùn)行時(shí)環(huán)境,使開發(fā)者能夠使用 JavaScript 創(chuàng)建服務(wù)器端應(yīng)用程序,本文將詳細(xì)介紹三種安裝 Node.js 的方法,大家根據(jù)具體需求選擇最適合的安裝方式2025-03-03
理解nodejs的stream和pipe機(jī)制的原理和實(shí)現(xiàn)
本篇文章主要介紹了理解nodejs的stream和pipe機(jī)制的原理和實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08
在Node.js中使用Express實(shí)現(xiàn)視頻評(píng)論的列表展示和刪除功能
在現(xiàn)代Web應(yīng)用中,視頻內(nèi)容和互動(dòng)功能(如評(píng)論)的結(jié)合極大地增加了用戶的參與度,本文將通過一個(gè)具體的例子,展示如何在Node.js環(huán)境中使用Express框架來實(shí)現(xiàn)視頻評(píng)論的列表展示和刪除功能,需要的朋友可以參考下2024-04-04

