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

So verwenden Sie Docker zum lokalen Verpacken und Bereitstellen von Images

Erste Verwendung von Docker zum lokalen Verpacken...

Eine kurze Diskussion über reguläre JS-RegExp-Objekte

Inhaltsverzeichnis 1. RegExp-Objekt 2. Grammatik ...

CSS-Beispielcode zum Zeichnen eines Lutschers

Hintergrund: Machen Sie jeden Tag ein wenig Forts...

Lösungen für MySql-Abstürze und Dienststartfehler

Ich habe so lange mit PHP zu tun gehabt, aber die...

js-Code, der den Button mit der Eingabetaste verknüpft

Code kopieren Der Code lautet wie folgt: <html...

Sechs Möglichkeiten zur Steigerung der Geschwindigkeit Ihrer Website

1. Ersetzen Sie die Adresse Ihrer .js-Bibliotheks...

So verwenden Sie React zur Implementierung einer Bilderkennungs-App

Lassen Sie mich Ihnen zuerst das Effektbild zeige...

Einige Kenntnisse über die absolute und relative Positionierung von Seitenelementen

Ab heute werde ich regelmäßig kleine Wissenspunkte...

So ändern Sie die Standardspeicher-Engine in MySQL

MySQL-Speicher-Engine: Der MySQL-Server verwendet...

Natives JS realisiert zusammengesetzte Bewegungen verschiedener Bewegungen

In diesem Artikel erfahren Sie mehr über eine zus...