我尝试使用“获取文件内容”从 Azure 文件存储读取逻辑应用程序中的 csv 文件。 该文件包含带有特殊字符(如“æ”)和任何其他丹麦语字符的字符串。 结果如图所示:
您有解决方案如何显示这些特殊字符吗? 谢谢
最佳答案
要实现此目的,您必须首先对非 Unicode 文本实现 Base64 编码,将其转换为 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 .
关于azure - 从 Azure 文件存储获取文件内容和特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72717411/