簡體   English   中英

在 nodejs 中將貨幣符號寫入文件的問題

[英]Issues writing currency symbols to file in nodejs

我正在嘗試寫入文件:

private async writeToFile(data: any) {
    try {
        fs.writeFile(filePath as string, JSON.stringify(data), 'utf8', (error: any) => {
            if (error) {
                logger.error(`[JSON] Error while saving file : ${error}`);
            }
            logger.info('The file has been saved!');
        });
    } catch (error) {
        logger.error(`[JSON] Error while saving file : ${error}`);
    }
}

其中數據有:

var data = [{label:'Egyptian Pound £', value: 'E£'}, {"label":"Albanian Lek-AL","value":"AL"}];

當我寫入文件時,字符被保存為{label: Egyptian Pound E , value: E }

數據數組是從服務器返回的多行字符串創建的:

Egyptian Pound|E£   
Albanian Lek|AL    

創建數據數組的代碼:

const currencyArr = response
    .split('\n')
    .map(val => val.trim())
    .reduce((arr, currencyString) => {
        arr.push({
            label: currencyString.split('|')[0] + '-' + currencyString.split('|')[1],
            value: currencyString.split('|')[1]
        });
        return arr;
    }, []);
this.writeToFile(currencyArr);

我不確定為什么會這樣。 根據文檔,節點默認支持 UTF-8 編碼

我能發現這種事情發生的唯一原因是,如果您的 JS 文件不是用 UTF8 編碼的文件。

確保JS文件保存為UTF8編碼,這樣你腳本中的字符串就可以保存為對應的編碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM