具有特殊字符如ñ或ó的Javascript句柄

时间:2020-05-06 00:54:54

标签: javascript

我有一些来自csv文件的数据,并且原始数据有一些特殊字符,因此当我加载数据并执行console.log()时,数据中会出现类似nari�o这样的内容

这是我从csv加载数据时的样子

{group: "nari�o", Moderada: 4, Baja: 11, Alta: 2}
{group: "choc�", Moderada: 6, Alta: 19, Baja: 1}

理想是这样

{group: "nariño", Moderada: 4, Baja: 11, Alta: 2}
{group: "chocó", Moderada: 6, Alta: 19, Baja: 1}

我尝试使用this post的功能,但是没有用,我认为可能是因为数据已经加载并且丢失了我想要保留的字符。关于如何解决这个问题的任何想法?

这是我加载数据的方式:

d3.csv("data.csv", function(data) { 
    console.log(data);//when I do this the data has already lost the characters like ñ or ó 
    //do some stuff with the data
    var dpto = d3.nest()
      .key(function(d) { return d.DEPTO.toLowerCase(); })
      .key(function(d) { return d.TEXTO_AMENAZA; })
      .rollup(function(v) { return v.length; })
      .object(data);  

      const result = Object.entries(dpto).reduce(
      (acc, [group, properties]) => [
      ...acc, { group, ...properties }
      ], []
      );

})

1 个答案:

答案 0 :(得分:0)

您应该检查您的csv文件是否为utf8格式,可以通过在任何文本编辑器中打开csv文件来进行检查,例如Windows记事本底部栏的下图

enter image description here

如果文件不是UTF8格式,则可以在Windows记事本中转到“文件”>“另存为”,然后在保存文件时选择utf8编码。

enter image description here

将文件转换为utf8后,所有特殊字符都可以正常工作。

,如果您不想转换文件,则可以使用d3.dsvFormat并传递文件正在使用的编码,以便D3知道如何获取正确编码的数据。为此,您需要参考D3 documentation

相关问题