Fix encoding problem of ping result for non-English Windows

This commit is contained in:
Louis Lam 2021-10-14 00:22:49 +08:00
parent 9b05e86c25
commit e2dbacb383
4 changed files with 124 additions and 10 deletions

View file

@ -6,6 +6,8 @@ const passwordHash = require("./password-hash");
const dayjs = require("dayjs");
const { Resolver } = require("dns");
const child_process = require("child_process");
const iconv = require("iconv-lite");
const chardet = require("chardet");
/**
* Init or reset JWT secret
@ -312,3 +314,14 @@ exports.startUnitTest = async () => {
process.exit(code);
});
};
/**
* @param body : Buffer
* @returns {string}
*/
exports.convertToUTF8 = (body) => {
const guessEncoding = chardet.detect(body);
debug("Guess Encoding: " + guessEncoding);
const str = iconv.decode(body, guessEncoding);
return str.toString();
};