nodejs mengeluarkan aksara Cina yang kacau

WBOY
Lepaskan: 2023-05-16 20:39:09
asal
1782 orang telah melayarinya

Node.js ialah masa jalan JavaScript berdasarkan enjin Chrome V8. Salah satu kelebihannya ialah kemudahan JavaScript boleh digunakan untuk membina aplikasi sisi pelayan, menjadikannya pilihan popular untuk membina aplikasi web. Walau bagaimanapun, apabila menggunakan Node.js untuk mengeluarkan aksara Cina, anda kadangkala menghadapi masalah aksara bercelaru.

Terdapat banyak sebab mengapa Node.js mengeluarkan aksara Cina bercelaru di bawah kami akan menyenaraikan beberapa sebab dan penyelesaian yang mungkin.

  1. Isu pengekodan

Node.js menggunakan pengekodan UTF-8 secara lalai, tetapi dalam beberapa kes kaedah pengekodan lain mungkin digunakan, mengakibatkan aksara bercelaru apabila mengeluarkan aksara Cina .

Penyelesaian: Anda boleh menggunakan fungsi console.log() dan gunakan kaedah Buffer untuk menukar set aksara menjadi output kepada UTF-8 sebelum output.

console.log(Buffer.from('Hello World', 'utf8').toString('hex')); // e6849fe696873a20476f726c64
Salin selepas log masuk
  1. Masalah paparan terminal

Sesetengah terminal tidak boleh memaparkan aksara input dengan betul jika set aksara tidak ditetapkan, mengakibatkan aksara bercelaru apabila mengeluarkan aksara Cina.

Penyelesaian: Tetapkan set aksara dalam terminal, contohnya menggunakan perintah chcp 65001 dalam gesaan arahan Windows. Jika anda menggunakan Mac OS atau Linux, anda boleh memilih untuk menggunakan pengekodan UTF-8 dalam tetapan terminal anda.

  1. Kaedah pengekodan tidak dinyatakan dengan betul

Apabila menggunakan modul fs terbina dalam Node.js untuk membaca atau menulis fail teks, jika pengekodan fail kaedah tidak dinyatakan dengan betul , yang akan mengakibatkan aksara bercelaru apabila mengeluarkan aksara Cina.

Penyelesaian: Tentukan kaedah pengekodan fail, contohnya:

fs.readFile('test.txt', 'utf8', function(err, data) {
  if (err) throw err;
  console.log(data);
});
Salin selepas log masuk
  1. Pengepala respons HTTP tidak menyatakan kaedah pengekodan

Membina Web menggunakan Node.js Apabila menggunakan atur cara, jika pengepala respons HTTP tidak menyatakan kaedah pengekodan dengan betul, aksara bercelaru akan muncul apabila mengeluarkan aksara Cina.

Penyelesaian: Tambahkan kaedah pengekodan set aksara dalam pengepala respons, contohnya:

res.setHeader('Content-type', 'text/html;charset=utf-8');
res.write('<html><head><title>你好</title></head><body>你好</body></html>');
res.end();
Salin selepas log masuk

Ringkasan:

Di atas adalah beberapa sebab semasa yang mungkin menyebabkan Node. js untuk mengeluarkan aksara dan penyelesaian Cina yang kacau. Anda perlu memberi perhatian kepada isu ini semasa pembangunan dan menggunakan kaedah pemprosesan yang betul apabila mengeluarkan aksara Cina.

Atas ialah kandungan terperinci nodejs mengeluarkan aksara Cina yang kacau. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!