Node.js生成的csv文件正在显示英镑符号(£)

时间:2017-07-21 08:12:52

标签: javascript node.js file csv encoding

我正在使用这个json2scv包解析我的数据(示例json数据在下面的代码中描述)

我正在尝试使用以下代码在我的nodejs应用程序中生成CSV文件:

如果我在Excel中打开文件,那么只要failure: { (operation, error)符号出现,我就会得到var dict = error.userInfo

£

有什么想法吗?

感谢。

1 个答案:

答案 0 :(得分:0)

我从这个答案和问题主题得到了解决方案:https://stackoverflow.com/a/27975629/5228251

  

UTF-8示例:

$(function() {
   obj = Snap(".cat");
   //Enable drag event
   obj.drag();
   var dimens = obj.node.getBoundingClientRect();    
   var orinDimens = dimens;
   //Image max enlarge rate
   var enlargeRate = 4;
   var smax = dimens.width;

   //Slider resize
   $( "#slider_resize" ).slider({
      max: smax*enlargeRate, 
      min: smax, 
      step:1, 
      value:dimens.width,
      slide: function( event, ui ) {
         w = ui.value * dimens.width / smax;
         h = ui.value * dimens.height / smax;
         obj.attr({
            width: w,
            height: h,
            x: (dimens.width - w)/2,
            y: (dimens.height - h)/2
         });
      }
   });

  //Slider rotate
  $( "#slider_rotate" ).slider({
      max: 360, 
      min: 0, 
      step:1, 
      value:0,
      slide: function( event, ui ) {
          obj.transform('r'+ui.value);        
      }
   });

   //Reset button
   $('#reset').click(function(){
       $("#slider_resize").slider('value',orinDimens.width);
       $("#slider_rotate").slider('value',0);
       var objMatrix = new Snap.Matrix();
       objMatrix.translate(0,0); 
       objMatrix.rotate(0);
       obj.transform(objMatrix);
       obj.attr({width: orinDimens.width,x:0})
   });

});
     

UTF-16 Little Endian示例:

fs.writeFile(someFilename, '\ufeff' + html, { encoding: 'utf8' }, function(err) {
   /* The actual byte order mark written to the file is EF BB BF */
}

在完成上述答案及其主题后,我修改了我的代码:

  • 将分隔符选项更改为fs.writeFile(someFilename, '\ufeff' + html, { encoding: 'utf16le' }, function(err) { /* The actual byte order mark written to the file is FF FE */ } 而非"\t"
  • ","添加到csv字符串
  • 更改编码以使用"\ufeff" 而不是"utf16le"

这是我的更新代码:

"utf8"

希望这有助于其他人。