Node.js はクライアントリクエストデータ内の中国語文字化けの問題を解決します

Node.js はクライアントリクエストデータ内の中国語文字化けの問題を解決します

Node.js はクライアントリクエストデータ内の中国語文字化けの問題を解決します

コード例:

var http = require('http');
var server = http.createServer();
server.on('request',function(req,res){
    // res.end("hello world");
    res.end("Hello World");
});
server.listen(3000,function(){
    console.log("サーバーは実行中です");
});

ここに画像の説明を挿入

理由:

サーバー上でデフォルトで送信されるデータは、実際にはUFT8でエンコードされたコンテンツです。

しかし、ブラウザはUFT8でエンコードされたコンテンツであることを認識しません

ブラウザがサーバーの応答コンテンツのエンコーディングを認識していない場合、現在のオペレーティング システムのデフォルトのエンコーディングに従って実行します。

中国語のオペレーティングシステムのデフォルト設定はGBKです

解決策: 正しい方法は、送信するデータのタイプをブラウザに伝えることですres.setHeader('Content-Type','text/plain;charset=utf-8');コネクタを間違えないように注意し、utf-8 をランダムに記述しないでください。 http プロトコルでは、content-Type は相手に送信するデータのタイプを伝えるために使用され、その後すぐにタイプが書き込まれます。

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("Hello World");
});
server.listen(3000,function(){
    console.log("サーバーは実行中です");
});

ここに画像の説明を挿入
種類がたくさんあることに注意してください

レスポンスコンテンツタイプ 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("Hello World");
    }そうでない場合(req.url==='/html'){
        res.setHeader('Content-Type','text/html;charset=utf-8');
        res.end("<h1>Hello World<br/> hello world</h1>");
    }
   
});
server.listen(3000,function(){
    console.log("サーバーは実行中です");
});

異なるリクエストパスに応じて異なるタイプのContent-Type形式を返します。

ここに画像の説明を挿入

これで、クライアント要求データ内の中国語文字化けの問題を解決する node.js の方法についての記事は終わりです。より関連性の高い node クライアント要求データ文字化けコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Nodejs で実装されたシンプルな UDP ブロードキャスト サーバーとクライアント
  • ノードHTTPリクエストクライアントリクエストの詳細な説明
  • Node.js の http リクエスト クライアントの例 (リクエスト クライアント)
  • Node.jsソケットによって実装されたサーバーとクライアントの機能の例
  • NodeJSはクライアント側のjs暗号化を実装します
  • Nodejs TCP サーバーとクライアント チャット プログラムの詳細な説明
  • NodeJS http モジュールの使用例 [Web サーバー/クライアントの作成]
  • Node.jsはhttpモジュールを使用してサーバーとクライアントの完全な例を作成します。

<<:  Linux システム構成 (サービス制御) の詳細な紹介

>>:  コンテンツの位置をランダムにドラッグするHTMLを実装する2つの方法

推薦する

構造とプレゼンテーションの分離を理解するためのWeb標準の学習

Web 標準について議論するときに必ず話題になるのは、構造とプレゼンテーションを分離することの重要性...

MySQLがファントムリードを解決する方法の詳細な説明

1. ファントムリーディングとは何ですか?トランザクションにおいて、複数のクエリの後に結果セットの数...

Docker 実行時にユーザーとグループを管理する方法

Docker はプロセスを中核としてシステムリソースを分離する管理ツールです。分離は、オペレーティン...

MySQLリモート接続を有効にする方法

セキュリティ上の理由から、MySql-Server はローカル マシン (localhost、127...

JavaScript で charAt() を使用して、最も頻繁に出現する文字とその出現回数をカウントする方法を教えます。

前回は、JavaScript の charAt() メソッドの使い方を紹介しました。今日は、最も多く...

Linux でリモート サーバー ファイルの状態を表示する方法

以下のように表示されます。 test コマンドはファイルが存在するかどうかを判断します。 ssh u...

HTML 選択タグにおける単一選択と複数選択の詳細な説明

select 要素は、単一選択または複数選択のメニューを作成します。フォームが送信されると、ブラウザ...

DockerでMySQLマスタースレーブ環境を構築する方法の詳しい説明

序文この記事では、docker-compose と dockerfile を使用して、binlog ...

CSS3 で transform を使用した場合のフォントぼかしの解決方法の詳細な説明

この質問は非常に奇妙なので、あまり多くを語らずにコードに直接進みます。 .g-ダイアログラッパー{ ...

MySQLはmysqldump+binlogを使用して、削除されたデータベースの原理分析を完全に復元します。

1. 概要MySQL データベースの日常的な操作とメンテナンスにおいて、ユーザーが誤ってデータを削...

リバースプロキシ設定を実装するためのユニバーサルnginxインターフェース

1. プロキシサーバーとは何ですか?プロキシ サーバーは、クライアントが要求を送信すると、それを直接...

Nginx サービスを使用してサブドメイン環境を構築し、2D マップの読み込みパフォーマンスを向上させる方法を説明します。

1. 背景最近、友人が大規模なマップの読み込みが遅いという問題に遭遇しました。iServer のパ...

JavaScriptにおけるPromiseの使い方と注意点について(推奨)

1. 約束の説明Promise は、非同期操作の最終状態 (失敗または正常完了) とその結果の値を...

EXPLAIN コマンドの詳細な説明と MySQL での使用方法

1. シナリオの説明: 同僚から MySQL で explain を使用する方法を教わったので、返さ...

Linux で MySQL スケジュールタスクを実装する方法

前提: ストアド プロシージャは、毎日午後 10 時から午前 5 時まで 10 分ごとに実行されます...