私たちは、アプリケーションによって、ユーザが入力したテキスト文字列をWebフォームに入力し、XML形式でパッケージ化します。ちょっとしたことを混乱させるだけで、XMLはOutlook電子メールメッセージの本文として送信されます。XMLのUTF-8またはISO-8859-1
ユーザーはWebフォーム(通常はWord)に何かを貼り付けることができるため、テキスト文字列には、開いている二重引用符や閉じた二重引用符などのASCII以外の文字(7ビット)を使用できます。
文字列は電子メールでそのまま送信されていますが、Microsoft XMLパーサーを使用すると、XMLに無効な文字が含まれていると(非常に正しい)文句を言います。
簡単な解決方法は、ヘッダにencoding = "iso-8859-1"を入れることです。しかし、すべてのXML文書がUTF-8でエンコードされていれば、より調和のとれた世界の方が良いと述べる記事を読んだので、最初は真のUTF-8形式でXMLファイルをエンコードするほうがよいのだろうか? ?
しかし、XML文書が電子メールメッセージの本文を介して実際に転送されているので、問題は起こるでしょうか? UTF-8は可変バイト長のエンコードシステムであることを理解しています。私は、7ビットのASCIIとエスケープ文字を使って、 "データがあります"ということを示しています。
もう1つのオプションは、UTF-8に設定しますが、非ASCII文字を& #nnnに置き換えることです。フォーマット。
この複雑な領域に関するアドバイスは高く評価されています。
Cheers、Rob。
実際には、&#を使用するという考えは良いことではありません。ドキュメントが正しく開かれ、IEでは正しく表示されません。開閉記号はブロックとして表示されます。 –
"ブロック"は、使用されているフォントに文字を表示するためのグリフがないことを示します。 – andynormancx
ISO 8859-1には「スマートな」引用符はありません。だから、これらのスマートな引用符を表すバイトは、ランダムな他のISO-8859-1文字として終わるでしょう。 Ã-quoted textâ。 UTF-8は安全です。 – MSalters