Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk menyelesaikan nodejs nilai pulangan kod kacau

Bagaimana untuk menyelesaikan nodejs nilai pulangan kod kacau

PHPz
PHPzasal
2023-04-06 08:56:291254semak imbas

Node.js ialah persekitaran masa jalan JavaScript yang popular berdasarkan enjin Chrome V8 untuk membangunkan aplikasi sebelah pelayan. Apabila membina aplikasi web dengan Node.js, mengembalikan hasil respons yang betul adalah penting. Walau bagaimanapun, sesetengah pembangun mungkin menghadapi masalah biasa semasa menulis aplikasi Node.js, iaitu "Nilai pulangan Node.js bercelaru". Artikel ini akan menerangkan punca dan penyelesaian kepada masalah ini.

1. Apakah itu kod bercelaru?

Watak bercelaru merujuk kepada simbol yang tidak dapat dikenali dalam rentetan yang muncul semasa penukaran pengekodan, yang dipanggil "blok hitam", teks bercelaru, dsb. Aksara bercelaru biasanya disebabkan oleh ralat penukaran pengekodan.

2. Sebab mengapa nilai pulangan Node.js bercelaru

Nilai pulangan bercelaru Node.js biasanya disebabkan oleh ketidakpadanan dalam pengekodan aksara. Pengekodan aksara ialah kaedah penukaran nombor kepada aksara dalam bidang sains komputer Untuk aksara Cina, pengekodan UTF-8 biasanya digunakan. Memandangkan Node.js menggunakan pengekodan UTF-8 secara lalai, pengekodan UTF-8 digunakan secara meluas.

Walau bagaimanapun, apabila Node.js menerima pengekodan aksara yang tidak sepadan, nilai pulangan akan bercelaru. Ini boleh berlaku apabila:

  1. menerima data luaran daripada pengekodan bukan UTF-8
  2. Node.js tidak dikonfigurasikan dengan betul untuk pengekodan
  3. aksara Tetapan pengekodan yang salah

3. Bagaimana untuk menyelesaikan masalah nilai pulangan Node.js yang bercelaru

  1. Sahkan pengekodan aksara

Pertama, anda perlu mengesahkan aksara Adakah pengekodan betul? Anda boleh mengesahkan sama ada pengekodan aksara adalah betul dengan:

console.log(process.stdout.encoding);

Output mestilah UTF-8.

  1. Tetapkan pengekodan aksara

Anda boleh menetapkan pengekodan aksara eksplisit untuk memastikan data atau respons yang diperoleh dari luar dikodkan dengan betul. Pengekodan aksara boleh ditetapkan menggunakan kod berikut:

res.writeHead(200, {'Content-Type': 'text/plain; charset=utf-8'});
  1. Tukar pengekodan aksara

Jika data luaran atau respons sudah dikodkan, anda boleh menggunakan Node. objek Penampan js untuk menukar Tukarkannya kepada pengekodan aksara yang betul. Kod berikut menunjukkan cara menukar data teks biasa daripada pengekodan ISO-8859-1 kepada pengekodan UTF-8:

var iconv = require('iconv-lite');
var result = iconv.decode(Buffer.from(inputData, 'binary'), 'iso-8859-1');
console.log(result.toString('utf-8'));
  1. Mengkonfigurasi Node.js

dalam Node Dalam fail konfigurasi .js, anda boleh menetapkan pengekodan aksara lalai. Fail konfigurasi boleh dibuat pada baris arahan menggunakan kod berikut:

sudo nano /etc/rc.local

Tambah baris berikut pada penghujung fail:

export LANG=en_US.UTF-8

Ini akan menetapkan pengekodan lalai daripada Node.js kepada UTF-8.

5. Kesimpulan

Dalam Node.js, mengembalikan respons yang betul adalah penting untuk membina aplikasi web. Jika anda menghadapi masalah nilai pulangan yang bercelaru daripada Node.js, ia biasanya disebabkan oleh ketidakpadanan dalam tetapan pengekodan aksara. Isu ini boleh diselesaikan dengan mudah dengan mengesahkan dan menetapkan pengekodan aksara yang betul. Jika anda masih mengalami isu, kami mengesyorkan anda menyemak dokumentasi untuk Node.js atau menghubungi komuniti pembangunan untuk mendapatkan bantuan lanjut menyelesaikan isu ini.

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan nodejs nilai pulangan kod kacau. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn