我們有一個應用程序,它將用戶輸入的文本字符串輸入到Web表單中並將其打包爲XML。只是爲了混淆事情,XML是作爲Outlook電子郵件消息的主體發送的。XML中的UTF-8或ISO-8859-1
因爲用戶幾乎可以將任何東西粘貼到Web表單中(通常是Word),所以文本字符串可以包含非ASCII(7位)字符,例如用於打開和關閉雙引號的字符。
該字符串通過電子郵件傳播,但當我們使用Microsoft XML解析器時,它抱怨(非常正確)XML包含無效字符。
快速解決方法是在編碼頭中加入encoding =「iso-8859-1」。但是,我不知道在開始時以真正的UTF-8格式編碼XML文件是否會更好,因爲我已經閱讀過文章,指出如果每個XML文檔都以UTF-8編碼?
但是...我們是否會遇到麻煩,因爲XML文檔實際上是通過電子郵件正文傳輸的?據我所知,UTF-8是一個可變字節長度編碼系統,我假定它使用7位ASCII碼和escapte字符來表示「有更多數據」。
另一個選項是設置爲UTF-8,但用非ASCII字符替換爲& #nnn;格式。
任何建議在這個相當複雜的領域表示讚賞。
乾杯,羅布。
實際上,使用&#的想法並不是很好 - 當文檔打開正確時,它在IE中無法正確顯示。打開/關閉引號顯示爲一個塊。 – 2009-08-11 10:00:44
「塊」表示正在使用的字體沒有可用於顯示字符的字形。 – andynormancx 2009-08-11 10:02:27
ISO 8859-1沒有這些「智能」引號。所以會發生的是,表示這些智能引號的字節最終會隨機成爲其他ISO-8859-1字符,例如,引用文字「。 UTF-8是安全的。 – MSalters 2009-08-11 11:41:08