Response text that contains unicode characters is corrupted on large responses when using within node. This behaviour can reproduced in algoliasearch v4, version 3 works fine.
I boiled the problem down to the NodeHttpRequester which simply adds buffer chunks to a string which leads to problems if the buffer only contains part of the unicode character. e.g.:
> a = Buffer.from("öäü")
<Buffer c3 b6 c3 a4 c3 bc>
> b = Buffer.from([0xc3, 0xb6, 0xc3])
<Buffer c3 b6 c3>
> c = Buffer.from([0xa4, 0xc3, 0xbc])
<Buffer a4 c3 bc>
> d = "" + b + c; // <--- This is the current implementation in @algolia/node-http-requester
'ö��ü'
> Buffer.concat([b,c]);
<Buffer c3 b6 c3 a4 c3 bc>
> Buffer.concat([b,c]).toString()
'öäü'
I already created a fix and will make a pull request shortly.