1
我有一個csv,我從我的供應商那裏得到,他們編碼了一個UTF-8字符串,現在包含黑色問號。我嘗試將其轉換回來,但沒有運氣。nodejs 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 ...>
任何幫助非常感謝
有時當你一旦將文檔轉換爲另一種編碼格式,所有的原始編碼數據消失了,你不能做這個,如果後鬆開你的編碼數據你有這個csv的原始版本(尚未轉換),那麼你將有機會將其轉換爲適當的編碼格式 – neuronet
'common.fileHandler'究竟做了什麼?什麼是'dataSet'?你使用'file.txt'編碼,但轉換'dataSet [0] .description',這似乎是從'default.csv'創建的?所有這些(不同)的東西呢? – Thomas
@neurnet謝謝你擊中了頭部的指甲,我從供應商處收到的實際csv編碼爲{編碼:'ISO-8859-1',置信度:29} 我在網上閱讀了很多,從'ISO-8859-1'轉換爲UTF-8,反之亦然,但我似乎無法將其轉換回去或刪除字符,谷歌商家中心(我經過驗證後將數據導入)抱怨雙重UTF8編碼 – user5569354