我曾经使用Mule ESB中的“转换消息”节点创建XML。
%dw 1.0 %output application / xml
项目:{ name:payload。“profile_name”, id:payload。“profile_Id” }
这显示了输出xml的预览为
<?xml version='1.0' encoding='windows-1252'?>
<item>
<name>
<profile_name>????</profile_name>
</name>
<id>
<profile_Id>1</profile_Id>
</id>
</item>
这导致编码为'windows-1252'如何在我的outpout xml中将编码更改为'UTF-8'?
答案 0 :(得分:6)
转到Anypoint Studio文件夹。
编辑AnypointStudio.ini
添加: -Dfile.encoding = UTF-8
重新启动
答案 1 :(得分:1)
简单,在输出行中定义编码:
<?xml version='1.0' encoding='utf-8'?>
<name>false</name>
结果:
imageViewFlower
答案 2 :(得分:0)
对于3.8.4以上版本的运行时中的dataweave,我实现了以下解决方案:
Output FlowVar-fv_itemName_xml
转换消息内:
项目:{名称:payload。“ profile_name”,id:payload。“ profile_Id”}
输出将是:
<item>
<name>
<profile_name>????</profile_name>
</name>
<id>
<profile_Id>1</profile_Id>
</id>
</item>
然后定义如下变量:
名称:fv_outputName_xml
值:#[flowVars.fv_itemName_xml]
编码:ISO 10646 / Unicode(UTF-8)
MIME类型:application / xml
您可以更好地控制编码和Mime类型。
就我而言,我需要将其输入到存储过程中,而没有这种工作环境不断收到错误:
System.Data.SqlClient.SqlException(0x80131904):XML解析:第1行 字符39,无法切换编码