nodejs UTF-8编码字符串有黑色问号

nodejs UTF-8 encoded string has black question mark

本文关键字:黑色 字符串 UTF-8 编码 编码字符 nodejs      更新时间:2023-09-26

我有一个csv,我从我的供应商那里得到,他们用UTF-8编码了一个字符串,现在包括黑色问号。我试着把它转换回来,但我没有运气。

var common              = require('./common/index.js');
var fs = require('fs');
var Iconv  = require('iconv').Iconv;
var encoding  = require('encoding');
var iconv = new Iconv('UTF-8', 'ISO-8859-1');
var detectCharacterEncoding = require('detect-character-encoding');
common.fileHandler(
    'default.csv',
    function(dataSet) {
        var fileBuffer = fs.readFileSync('file.txt');
        var charsetMatch = detectCharacterEncoding(fileBuffer);
        console.log(charsetMatch);
        console.log(encoding.convert(dataSet[0].description, 'UTF-8', 'ISO-8859-1'))
    }
)

返回
{ encoding: 'UTF-8', confidence: 100 }
<Buffer c3 bd 20 53 79 6e 63 20 64 61 74 61 20 61 6e 64 20 66 61 73 74 20 63 68 61 72 67 69 6e 67 3c 62 72 2f 3e c3 bd 20 50 72 65 6d 69 75 6d 20 61 6c 75 6d 69 ...>

任何帮助都非常感谢

如果你没有原始文件(转换之前),你尝试了一切,但没有结果,你总是可以用适当的utf8字符替换问号:)

复制问号并粘贴到你的代码中(复制到你的编辑器中)

someContent.replace('paste_question_mark_here','ą');

这是最后的希望,如果您在转换后丢失了编码数据