【问题标题】:Get File Content from Azure File Storage and special characters从 Azure 文件存储和特殊字符获取文件内容
【发布时间】:2022-06-23 03:22:22
【问题描述】:

我尝试使用 Get File Content 从 Azure 文件存储读取逻辑应用程序中的 csv 文件。 该文件包含带有特殊字符的字符串,例如“æ”和任何其他丹麦语字符。 结果在图像中:

您有解决方案如何显示这些特殊字符吗? 谢谢

【问题讨论】:

    标签: azure file azure-logic-apps azure-files


    【解决方案1】:

    为此,您必须首先将 base64 编码实现为非 Unicode 文本以将其转换为 utf-8 格式,然后使用 Azure Functions 生成任何 .NET 支持的编码为 UTF-8。以下是这段代码我从这个MSFT - Documentation 中获取的。

    string requestBody = new StreamReader(req.Body).ReadToEnd();
        dynamic data = JsonConvert.DeserializeObject(requestBody);
    
        if (data == null || data.text == null || data.encodingInput == null || data.encodingOutput == null) {
          return new BadRequestObjectResult("Please pass text/encodingOutput properties in the input JSON object.");
        }
    
        Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
    
        try {
          string encodingInput = data.encodingInput.Value;
          inputEncoding = Encoding.GetEncoding(name: encodingInput);
        } catch (ArgumentException) {
          return new BadRequestObjectResult($"Input character set value '{data.encodingInput.Value}' is not supported. Supported values are
    listed at
    https://msdn.microsoft.com/en-us/library/system.text.encoding(v=vs.110).aspx.");
        }
    
        Encoding encodingOutput = null;
        try {
          string outputEncoding = data.encodingOutput.Value;
          encodingOutput = Encoding.GetEncoding(outputEncoding);
        } catch (ArgumentException) {
          return new BadRequestObjectResult($"Output character set value '{data.encodingOutput.Value}' is not supported. Supported values are
    listed at
    https://msdn.microsoft.com/en-us/library/system.text.encoding(v=vs.110).aspx.");
        }
    
        return (ActionResult) new JsonResult(
          value: new {
            text = Convert.ToBase64String(
              Encoding.Convert(
                srcEncoding: inputEncoding,
                dstEncoding: encodingOutput,
                bytes: Convert.FromBase64String((string) data.text)))
          });   } } ```
    

    更多信息请参考Support non-Unicode character encoding in Logic Apps

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-05
      • 2017-09-06
      • 1970-01-01
      • 2021-08-30
      相关资源
      最近更新 更多