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つの方法

推薦する

Tomcat サーバーが tomcat7w.exe を開けない場合の解決策

今日、Tomcat サーバーの設定時にちょっとした問題が発生したので、参考までにいくつかご説明したい...

コード標準では、SQL ステートメントに結合が多すぎないようにする必要があるのはなぜですか?

無料ポイントインタビュアー:Linuxを使ったことはありますか?私:はいインタビュアー:メモリ使用量...

CSS ファンタスティックボーダーアニメーション効果の実装

今日、私はブログサイト shoptalkshow を閲覧していて、非常に興味深いこのインターフェース...

element-plus でオンデマンドインポートとグローバルインポートを実装する方法

目次オンデマンドインポート:グローバルインポートオンデマンドインポート:プラグインをインストールする...

Vue モバイル プロジェクトでページ キャッシュを実装する方法のサンプル コード

背景モバイル デバイスでは、ページ ジャンプ間のキャッシュが必須要件です。例: ホームページ =&g...

CSSカスタムプロパティの予備的な理解

現在、CSS プリプロセッサは Web 開発の標準となっています。 プリプロセッサの主な利点の 1 ...

Vue Element フロントエンドアプリケーション開発開発環境の準備

目次概要1. 必要なソフトウェア環境を開発する1) VSコードのインストール2) ノード開発環境をイ...

ウェブページの内部アンカーポイントを実現するための純粋なCSSの上下オフセットコード例

最近、「フットボール ナビゲーション」Web サイトに取り組んでいるときに、上部の固定ナビゲーション...

ミニプログラムでマインドマップを描く方法

目次マインドマップとは何ですか? F6で描く方法アリペイ微信要約するマインドマップとは何ですか?マイ...

2秒以内にHTMLページ内の他のページにリダイレクトする方法

コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...

CSS フォーム検証機能の実装コード

レンダリング原理フォーム要素には、正規表現(携帯電話番号、メールアドレス、IDカードなど)をカスタマ...

MySQLスケーラブル設計の基本原則

目次序文1. スケーラビリティとは何ですか?スケールアウトの利点:スケールアウトのデメリット:スケー...

Docker コンテナを他のサーバーに移行する 5 つの方法

多くの場合、移行は避けられません。ハードウェアのアップグレード、データ センターの変更、古いオペレー...

浮遊要素によって引き起こされる問題と解決策の詳細な説明

1. 問題複数のフローティング要素は親要素の幅を拡張できず、親要素の高さが 0 になる可能性がありま...

IMG での UserMap の使用例

usemap は <img> タグの属性であり、使用するイメージ マップの名前を指定する...