It sounds like the issue is that your server is cutting off the request because of the length of the email content node, so we're not getting the full request.
Yes I can send a plain email. I definitely think it's the character encoding that is killing me. Is it possible to create a campaign with a UTF-16 encoding?
Unfortunately the API and our emails are handled using UTF-8 for content encoding. Because of this, even if your data was sent using UTF-16, it is very likely that it would not be interpreted correctly if it was accepted at all.
After spending some time investigating the cause, there were several accented characters and some other unencoded characters that were being submitted and were not accepted by Constant Contact. To correct this, I used the PHP htmlentities function with the following flags to re-encode the contents:
htmlentities($content, ENT_COMPAT | ENT_HTML401 | ENT_SUBSTITUTE)
After doing this, the code was accepted by the API and submitted properly. You can view an updated XML request with this information here:
Tier 2 Support