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:
3. Bagaimana untuk menyelesaikan masalah nilai pulangan Node.js yang bercelaru
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.
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'});
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'));
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!