【问题标题】:How to read the encoding of the file如何读取文件的编码
【发布时间】:2019-04-05 13:16:35
【问题描述】:

我不确定如何找到文件的编码。我正在尝试仅使用 utf-8 上传 CSV 文件,并查找是否有任何非 utf-8 字符我想显示错误消息。

我正在使用 Papa persor 进行解析。

如何在 java 或 js 中读取文件的编码。

var fileElement = element.find('.csv-upload');
var file = fileElement[0].files[0]
var parseConfig = {
        skipEmptyLines: true,
        header: true,
        encoding:'UTF-8',
        trimHeaders: true,
        complete: function (content) {
          scope.onFileRead(content, fileElement[0]);
        }
      };

      if (scope.rowsToParse) {
        parseConfig.preview = scope.rowsToParse;
      }

      if (file) {
        Papa.parse(file, parseConfig);
      }

【问题讨论】:

    标签: javascript angularjs spring


    【解决方案1】:

    CSV 文件中不会包含任何编码信息。它只是一个字节序列。

    您必须事先知道文件是否包含非UTF8字符,以及读取时使用的正确文件编码。

    如果您使用的是 Java(不确定是否是因为您有 Spring 标签),您可以使用此处建议的库之一来尝试推断文件类型。

    Is there a java library equivalent to file command in unix

    也许 Javascript 也有类似的东西。

    【讨论】:

    • 感谢您尝试回答我的问题。我认为即使在 CSV 文件中也有编码。请检查我们可以使用file -I "filename"
    • 不,没有。 unix file 命令只是试图从各种提示中推断出来,包括分析其内容中的特殊字符。 computerhope.com/unix/ufile.htm也许你可以看看有没有做同样事情的库。
    猜你喜欢
    • 2012-08-13
    • 1970-01-01
    • 2019-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多