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

Lösung zum Vergessen des MySQL-Root-Passworts in MACOS

MySQL ist ein relationales Datenbankverwaltungssy...

Semantik: Ist HTML/XHTML wirklich standardkonform?

<br />Originaltext: http://jorux.com/archive...

jQuery implementiert den Tabellen-Paging-Effekt

In diesem Artikel wird der spezifische Code von j...

Zusammenfassung häufig verwendeter MySQL-Befehle im Linux-Betriebssystem

Hier sind einige gängige MySQL-Befehle für Sie: -...

CSS horizontale Zentrierung und Begrenzung der maximalen Breite

Eine CSS-Layout- und Stilfrage: Wie kann man die ...

JavaScript implementiert einfache Rechnerfunktion

In diesem Artikel wird der spezifische JavaScript...

Eine Kurzanleitung zu Docker

Docker bietet eine Möglichkeit, Software automati...

Detaillierte Erklärung des MySQL-Covering-Index

Konzept Wenn der Index alle Daten enthält, die di...