Campanha: caracteres especiais incorretos quando o conjunto de caracteres UTF-8 não é declarado na carga do SOAP

Nos workflows de mensagens transacionais do Adobe Campaign que assimilam cargas de evento do SOAP, caracteres especiais como ®, ©, ™ ou apóstrofos curvos podem ser renderizados incorretamente nos dados de evento armazenados, na pré-visualização, na linha de assunto ou no email entregue. Normalmente, esse comportamento é causado por solicitações enviadas sem uma declaração de conjunto de caracteres UTF-8 explícita, o que pode levar à interpretação implícita da codificação do lado do servidor.

Descrição description

Uma entrega transacional foi relatada em que caracteres especiais pareciam malformados após o evento ser assimilado e renderizado. O problema estava visível na pré-visualização do evento e no email final entregue.

Exemplos de caracteres afetados incluem:

  • ® renderização como texto malformado, como ®
  • Outros símbolos UTF-8 e pontuação exibidos incorretamente no assunto ou no corpo
  • A investigação inicial confirmou que a própria carga continha UTF-8 bytes válidos. Isso indicou que a corrupção não era necessariamente introduzida no conteúdo original, mas poderia ocorrer durante a assimilação da solicitação do SOAP, quando a codificação da solicitação não era explicitamente declarada.

Outros testes mostraram:

  • Solicitações enviadas sem um conjunto de caracteres UTF-8 explícito no cabeçalho Content-Type podem reproduzir o problema
  • As solicitações enviadas com charset=UTF-8 renderizaram os mesmos caracteres corretamente
  • O comportamento era reproduzível fora de um único ambiente, o que sugeria que não era um problema de modelo específico do cliente
  • As diferenças nas ferramentas de teste foram importantes, pois algumas ferramentas aplicam automaticamente o UTF-8 e podem ocultar o problema durante a validação

Resolução resolution

Certifique-se de que a solicitação do SOAP declare explicitamente a codificação UTF-8.

Use o seguinte cabeçalho:

Tipo de conteúdo: text/xml; charset=UTF-8

Também é recomendável incluir a declaração XML na parte superior do corpo do SOAP:

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

Resultado

Depois de declarar explicitamente UTF-8 na solicitação, caracteres especiais são renderizados corretamente no teste.

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