gpt4 book ai didi

java - XmlTextAttribute 和 CDATA

转载 作者:行者123 更新时间:2023-12-01 06:00:30 25 4
gpt4 key购买 nike

我们的应用程序有一部分,用户可以通过定制的 Wysiwyg 组件创建包含 HTML、JavaScript 和 CSS 的对象。这些对象在某个时刻被序列化,然后又被反序列化。然而,由于我们的用户/客户遍布全局,他们有时会输入在反序列化过程中引起不满的字符。最近,我看到  出现在中国用户的序列化 XML 中,这导致了后来的问题,因为 XML 是通过一些使用 MSXML2 的 Java 代码加载的(同样在 . NET 和 System.Xml,但这是另一个问题)。我们目前仍坚持使用 MSXML2,因此需要单独解决这个问题。

建议将某些字段更改为序列化为 CDATA,而不是像现在这样的 HtmlTextAttribute。

我该如何实现这一点?它会对更改之前序列化的数据产生影响吗?

最佳答案

0x1D 是一个没有人使用的 ASCII 控制字符,因此看来中国用户的输入正在使用某种非 UTF-8 编码,并且将其序列化为 XML 的代码错误地假定输入字节是 Unicode 代码点(并将它们序列化为字符实体引用)。

仅将其更改为 CDATA 是行不通的,因为序列化器仍会输出 mojibake。

最简单的修复方法就是确保客户端应用程序始终使用 UTF-8。

关于java - XmlTextAttribute 和 CDATA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/368442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com