Campaign:未在SOAP有效负载中声明UTF-8字符集时的特殊字符不正确

在摄取Adobe Campaign事件负载的SOAP事务型消息工作流中,特殊字符(如®、©、™或弯撇号)可能会在存储的事件数据、预览、主题行或投放的电子邮件中无法正确呈现。 此行为通常是由请求在没有显式UTF-8字符集声明的情况下发送导致的,这可能导致隐式服务器端编码解释。

描述 description

报告了事务性投放,其中特殊字符在事件摄取和呈现后显示不正确。 问题显示在事件预览和最终投放的电子邮件中。

受影响的字符示例包括:

  • ®呈现为格式错误的文本,例如Ï®
  • 其他UTF-8符号和标点符号在主旨或正文中显示不正确
  • 初步调查确认有效负载本身包含有效的UTF-8字节。 这表明,源内容不一定会出现损坏,但是当请求编码未明确声明时,可能会在SOAP请求提取期间发生损坏。

进一步的测试表明:

  • 在Content-Type标头中没有明确设置UTF-8字符集的情况下发送的请求可能会重现问题
  • 使用charset=UTF-8发送的请求正确呈现相同的字符
  • 该行为在单个环境之外可重现,这表明这不是特定于客户的模板问题
  • 测试工具差异很重要,因为某些工具会自动实施UTF-8并在验证期间隐藏问题

解决方法 resolution

确保SOAP请求明确声明UTF-8编码。

使用以下标头:

Content-Type: text/xml; charset=UTF-8

还建议在SOAP正文的顶部包含XML声明:

< ?xml version=“1.0” encoding=“UTF-8”?>

结果

在请求中显式声明UTF-8后,特殊字符在测试中正确呈现。

recommendation-more-help
experience-cloud-kcs-help-kbarticles