Node.js löst das Problem verstümmelter chinesischer Zeichen in Clientanforderungsdaten

Node.js löst das Problem verstümmelter chinesischer Zeichen in Clientanforderungsdaten

Node.js löst das Problem verstümmelter chinesischer Zeichen in Clientanforderungsdaten

Beispielcode:

var http = erforderlich('http');
var server = http.createServer();
server.on('Anforderung',Funktion(req,res){
    // res.end("Hallo Welt");
    res.end("Hallo Welt");
});
server.listen(3000,Funktion(){
    console.log("Server läuft");
});

Bildbeschreibung hier einfügen

Grund:

Die standardmäßig an den Server gesendeten Daten sind tatsächlich UFT8-codierte Inhalte

Der Browser weiß jedoch nicht, dass es sich um UFT8-codierte Inhalte handelt

Wenn der Browser die Kodierung des Antwortinhalts des Servers nicht kennt, führt er ihn gemäß der Standardkodierung des aktuellen Betriebssystems aus.

Die Standardeinstellung für chinesische Betriebssysteme ist GBK

Lösung: Der richtige Weg besteht darin, dem Browser mitzuteilen, welche Art von Daten ich Ihnen sende res.setHeader('Content-Type','text/plain;charset=utf-8'); Achten Sie darauf, im Connector keinen Fehler zu machen, und schreiben Sie utf-8 nicht willkürlich. Im http-Protokoll wird der Inhaltstyp verwendet, um der anderen Partei mitzuteilen, welche Art von Daten ich Ihnen sende, und der Typ wird unmittelbar danach geschrieben.

var http = erforderlich('http');
var server = http.createServer();
server.on('Anforderung',Funktion(req,res){
    // res.end("Hallo Welt");
    res.setHeader('Inhaltstyp','text/plain;charset=utf-8');
    res.end("Hallo Welt");
});
server.listen(3000,Funktion(){
    console.log("Server läuft");
});

Bildbeschreibung hier einfügen
Beachten Sie, dass es viele Arten gibt

Antwort-Inhaltstyp Content-Type

var http = erforderlich('http');
var server = http.createServer();
server.on('Anforderung',Funktion(req,res){
    wenn(req.url==='/plain'){
        res.setHeader('Inhaltstyp','text/plain;charset=utf-8');
        res.end("Hallo Welt");
    }sonst wenn(req.url==='/html'){
        res.setHeader('Inhaltstyp','text/html;charset=utf-8');
        res.end("<h1>Hallo Welt<br/> hallo Welt</h1>");
    }
   
});
server.listen(3000,Funktion(){
    console.log("Server läuft");
});

Gibt unterschiedliche Content-Type-Formate entsprechend den unterschiedlichen Anforderungspfaden zurück.

Bildbeschreibung hier einfügen

Dies ist das Ende dieses Artikels über die Methode von node.js zur Lösung des Problems chinesischer verstümmelter Zeichen in Clientanforderungsdaten. Weitere relevante Inhalte zu verstümmelten Zeichen in Node-Clientanforderungsdaten finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Ein einfacher UDP-Broadcast-Server und -Client, implementiert von Nodejs
  • Detaillierte Erläuterung der Knoten-HTTP-Anforderung Client-Anforderung
  • Beispiel für einen HTTP-Anforderungsclient in Node.js (Anforderungsclient)
  • Beispiel für Server- und Clientfunktionen, die durch einen NodeJS-Socket implementiert werden
  • NodeJS implementiert clientseitige JS-Verschlüsselung
  • Detaillierte Erklärung des Nodejs TCP-Server- und Client-Chat-Programms
  • Beispiel für die Verwendung des NodeJS-HTTP-Moduls [Erstellen eines Webservers/Clients]
  • Node.js verwendet das http-Modul, um ein vollständiges Beispiel für Server und Client zu erstellen

<<:  Eine detaillierte Einführung in die Linux-Systemkonfiguration (Dienststeuerung)

>>:  Zwei Möglichkeiten, HTML zu implementieren, um Inhaltspositionen zufällig zu verschieben

Artikel empfehlen

Ubuntu 19.04 Installationstutorial (Schritte in Bild und Text)

1. Vorbereitung 1.1 Laden Sie VMware 15 herunter ...

Detaillierte Erläuterung gängiger Methoden von JavaScript String

Inhaltsverzeichnis 1. charAt Grammatik Parameter ...

Beispiel für die Verwendung der setInterval-Funktion in React

Dieser Artikel basiert auf der Windows 10-Systemu...

So erkennen Sie die Ubuntu-Version mithilfe der Befehlszeile

Methode 1: Verwenden Sie das Dienstprogramm lsb_r...

So implementieren Sie eine MySQL-Master-Slave-Replikation basierend auf Docker

Vorwort Die MySQL Master-Slave-Replikation ist di...

Beispiel für die Verwendung von Docker zum Erstellen eines ELK-Protokollsystems

Die folgenden Installationen verwenden alle das V...

Zusammenfassung einiger verwandter Vorgänge geplanter Linux-Aufgaben

Ich habe verschiedene große Websites durchsucht u...

Eine kurze Diskussion zu this.$store.state.xx.xx in Vue

Inhaltsverzeichnis Sehen Sie sich dies an.$store....

Ausführliche Erläuterung der HTML-Grundlagen (Teil 1)

1. Das WEB verstehen Webseiten bestehen hauptsäch...

WeChat-Applet implementiert Sortierfunktion basierend auf Datum und Uhrzeit

Ich habe vor kurzem ein kleines Programmierprojek...

Der Unterschied und die Verwendung von LocalStorage und SessionStorage in Vue

Inhaltsverzeichnis Was ist LocalStorage Was ist S...

JS implementiert das Baidu-Suchfeld

In diesem Artikelbeispiel wird der spezifische JS...

11 Linux-KDE-Anwendungen, die Sie nicht kannten

KDE Abkürzung für Kool Desktop Environment. Eine ...

Die Magie des tbody-Tags beschleunigt die Anzeige von Tabelleninhalten

Sie haben sicher schon einmal die Webseiten andere...