Azure ad b2c 使用Azure管道部署自定义策略更改字符集编码

Azure ad b2c 使用Azure管道部署自定义策略更改字符集编码,azure-ad-b2c,identity-experience-framework,Azure Ad B2c,Identity Experience Framework,我将在下面的文章中部署我的自定义策略。我已在政策中实现本地化,并提供英语和西班牙语翻译。通过手动部署,不会出现任何问题。但在使用管道部署时,我的西班牙语翻译遇到了一些问题: 我的实际文本是“Tu Teléfono Celular”,但在部署之后是“Tu Teléfono Celular”�fono Celular“我在部署Azure管道时也遇到了同样的问题 在对部署脚本执行trail-and-error方法之后,我得到了一个解决方案 我已经更改了下面脚本中的行 从 到 此更改修复了问题您是否尝试

我将在下面的文章中部署我的自定义策略。我已在政策中实现本地化,并提供英语和西班牙语翻译。通过手动部署,不会出现任何问题。但在使用管道部署时,我的西班牙语翻译遇到了一些问题:


我的实际文本是“Tu Teléfono Celular”,但在部署之后是“Tu Teléfono Celular”�fono Celular“

我在部署Azure管道时也遇到了同样的问题

在对部署脚本执行trail-and-error方法之后,我得到了一个解决方案

我已经更改了下面脚本中的行


此更改修复了问题

您是否尝试过使用Azure AD Powershell?试一试,我们可以检查bug是否在管道中,或者powershell是否使用带有签名/BOM标记的显式UTF-8编码?如果没有,这可能会解决此特定问题,但可能会导致流程中的其他组件出现问题。您可以尝试
$policycontent=Get Content$PathToFile-编码UTF8
。我以前也不得不转义文件内容以便上传。Hi@chrispadget对我不起作用。我在阅读文件后尝试打印$policycontent,它显示的是特殊字符。所以我猜问题出在
$response=Invoke RestMethod-Uri$graphuri-Method Put-Body$policycontent-Headers$Headers
中,所以试图在header中以utf-8的形式传递内容类型,这也不起作用。
$response = Invoke-RestMethod -Uri $graphuri -Method Put -Body $policycontent -Headers $headers
$response = Invoke-RestMethod -Uri $graphuri -Method Put -Body $policycontent -Headers $headers -ContentType "application/xml; charset=utf-8"