Catatan : untuk pertanyaan dukungan, silakan gunakan salah satu saluran ini: stackoverflow atau slack
ketika memancarkan objek sebagai data dan di dalamnya menggunakan string ≥
(atau unicode \u2265
) ia mengubahnya menjadi string huruf e
dan ≤
berubah menjadi d
sisi klien
channel.emit('data', {data:'≥'});
sisi server
socket.on('data',({data:bla})=>{
console.log(bla); // prints 'e'
});
Catatan : cara terbaik untuk mendapatkan jawaban cepat adalah dengan memberikan kasus uji yang gagal, dengan forking biola berikut misalnya.
bahwa data akan tetap sama secara konsisten
Ini hanya terjadi ketika soket belum ditingkatkan (penggunaan pertama) lebih dari xhr,
setelah upgrade ke websocket semua data terkirim dengan benar
lihat #451 dan #572
Ada masalah tentang penguraian utf8 di versi 1.x, bisakah Anda mencoba dengan versi 2.x?
Terkait:
dicoba dengan 2.0.4, masih terjadi ...
memperbaikinya dengan encoding dan decoding data dengan kode ini:
sisi klien
function strencode( data ) {
return encodeURIComponent( escape( JSON.stringify( data ) ) );
}
sisi server
function strdecode( data ) {
return JSON.parse( unescape( decodeURIComponent( data ) ) );
}
Ya itu sepertinya berhasil. Terima kasih!
Komentar yang paling membantu
dicoba dengan 2.0.4, masih terjadi ...
memperbaikinya dengan encoding dan decoding data dengan kode ini:
sisi klien
sisi server