Node響應中文時解決亂碼問題


場景

在使用node響應英文時可以在app.js中這樣寫

//代碼塊: node-http-server

//表示引入http模塊
var http = require('http');
/*
    request    獲取客戶端傳過來的信息
    response  給瀏覽器響應信息
*/
http.createServer(function (request, response) {

  //設置響應頭
  response.writeHead(200, {'Content-Type': 'text/plain'});
  //表示給我們頁面上面輸出一句話並且結束響應
  response.end('Hello World ');
}).listen(8081);  //端口

console.log('Server running at http://127.0.0.1:8081/');

 

但是如果想響應中文,即將代碼改為如下

//代碼塊: node-http-server

//表示引入http模塊
var http = require('http');
/*
    request    獲取客戶端傳過來的信息
    response  給瀏覽器響應信息
*/
http.createServer(function (request, response) {

  //設置響應頭
  response.writeHead(200, {'Content-Type': 'text/plain'});
  //表示給我們頁面上面輸出一句話並且結束響應
  response.end('霸道的程序猿');
}).listen(8081);  //端口

console.log('Server running at http://127.0.0.1:8081/');

 

運行效果

 

 

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
關注公眾號
霸道的程序猿
獲取編程相關電子書、教程推送與免費下載。

實現

可以通過如下兩行設置響應頭

res.writeHead(200,{"Content-type":"text/html;charset='utf-8'"}); //解決亂碼

res.write("<head> <meta charset='UTF-8'></head>");  //解決亂碼

 

完整示例代碼

const http =require('http');

/*
    req   獲取客戶端傳過來的信息
    res  給瀏覽器響應信息
*/

http.createServer((req,res)= >{

    console.log(req.url);  //獲取url

    //設置響應頭
    //狀態碼是 200,文件類型是 html,字符集是 utf-8
    res.writeHead(200,{"Content-type":"text/html;charset='utf-8'"}); //解決亂碼

    res.write("<head> <meta charset='UTF-8'></head>");  //解決亂碼

    res.write('公眾號:霸道的程序猿');

    res.write('<h2>公眾號:霸道的程序猿</h2>');

    res.end();  //結束響應

}).listen(3000);

 

效果

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM