【问题标题】:Mulesoft SFTP write .csv file encoded UTF-8 with BOMMulesoft SFTP 使用 BOM 写入 UTF-8 编码的 .csv 文件
【发布时间】:2021-05-25 10:08:08
【问题描述】:

我需要使用 Mulesoft 的 SFTP 写入处理器在 SFTP 服务器上存储 csv 文件。

文件格式:CSV(逗号分隔)、UTF-8 和 BOM

在“转换消息”中,我将 JSON 有效负载转换为 application / csv encoding = "UTF-8"

效果很好,然后 csv 以 utf-8 格式在 SFTP 服务器上可用。

%dw 2.0
output application/csv encoding="UTF8" 
---
payload.data 

我的问题是如何将 BOM 附加到文件中?

【问题讨论】:

  • 不确定 Mulesoft (Stack Overflow 上的标签描述说它不是一个单一的产品,所以也许你应该澄清究竟是哪个 Mulesoft 组件?)但是在上传之前添加 BOM 肯定会解决它。这个要求是有问题的,但如果您的受众是 Windows 受害者,那么这可能是最简单的方法。
  • 根据上下文我可以看出这个问题是针对 Mule 4 的。我修复了标签。

标签: utf-8 sftp dataweave byte-order-mark mule4


【解决方案1】:

在将数据写入 SFTP 之前,使用以下数据编织创建一个名为 utf8BOM 的变量:

%dw 2.0
import * from dw::core::Binaries
output application/java 
---
fromHex("EFBBBF")

然后使用写入连接器创建新文件并首先写入上面的变量:例如在内容中 vars.utf8BOM

然后使用写入连接器上的追加将您的内容写入同一个文件。

这应该会输出一个带有 BOM 字节的 UTF8 CSV 文件。

【讨论】:

    猜你喜欢
    • 2018-10-02
    • 2020-01-25
    • 2015-11-11
    • 2020-05-08
    • 2018-08-03
    • 2014-07-01
    • 2018-06-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多