Campaign:SOAP ペイロードでUTF-8文字が宣言されていない場合の特殊文字が正しくない
SOAP イベントペイロードを取り込むAdobe Campaignのトランザクションメッセージワークフローでは、®、©、™、またはcurly apostrophesなどの特殊文字が、保存されたイベントデータ、プレビュー、件名、または配信されたメールに正しく表示されない場合があります。 この動作は通常、明示的な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