タイトルが良くなくて申し訳ありませんが、この問題を分類する方法さえわかりません。これがエンコーディングに関係していることは知っていますが、その方法はわかりません。
私はESPのプロジェクトを行っています。彼らの電子メールは、utf-8 文字セットを使用して 7 ビットでエンコードされています (これは私にはあまり意味がありません)。
展示物A:
API 経由で HTML メール テキストを取得します。次に、PHP を使用して (str_replace を介して) テキストの一部を変更し、API を介して新しい html を投稿します。
すべて問題ありませんが、投稿するたびに奇妙な文字が表示されます。つまり、コードを実行するたびに別のファンキーな文字が追加されます。
変更を加える前の電子メールの影響を受けるセクションを次に示します (これは「表示」モード、つまりブラウザでどのように表示されるかです)。
その著作権記号と、その上に「acute」記号が付いた A を生成するコードは次のとおりです。
© 2012 H
奇妙なのは、その上に「深刻な」記号が付いた A を取り除く唯一の方法は、著作権記号を削除することであるということです...どういうわけか、それらは関連しています。
PHP 経由で API に投稿するたびに、新しいファンキーな文字がいくつか取得されます。
最初の投稿:
2 番目の投稿:
3 番目の投稿:
それはとても奇妙です...これは機能していない唯一の部分です! 助けてください...これは私を狂わせています!:-)
編集:
関連するPHPは次のとおりです。
xml 応答から html を取得します。
$html = (文字列)$データ;
いくつかのものを置き換えます:
$newHTML = str_replace($oldExpiresString, $newExpiresString, $html);
新しい HTML を xml 投稿変数に入れます。
$input = ''.$newHTML.'';
URLエンコード:
$formatted = urlencode($input);
curl 経由で投稿:
$postVariables = array( 'type' => urlencode($type), 'activity' => urlencode($activity), 'input' => urlencode($input) );
$rawResponseString = post_url($urlBase, $postVariables); $rawResponseString を印刷します。