gpt4 book ai didi

utf-8 - 字符编码问题 - 英镑符号 (£) 与 UTF-8 IE6/ASP/XML 的奇怪行为

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

我遇到一个非常奇怪的问题,井号在网页上显示不正确(或根本不显示)。

我在文本框中键入文本,然后在显示在新的 IE(6) 窗口中之前(短暂地)将其存储在 XML 中。

最糟糕的是这是不一致的。我发生了三件不同的事情:
1.井号甚至没有出现在源代码中(假设 XML 将其删除,因为它似乎默认使用 UTF-8)。
2. 井号出现在源代码中,但网页上没有。
3. 井号出现在源代码中并且在网页上很好(通常,如果发生这种情况,这是第一次显示)。

现在,这只是一个更大问题的一个特定部分。我一直在研究这个问题并做了一些研究,看来如果我有纯 ASCII ( ISO 8859-1 - Western Europe ) 并转换为 UTF-8,它不知道符号是什么并将其完全删除(在这种情况下,虽然我已经看到它被一个“?”、一个方框或一个颠倒的“?”代替了其他地方)。

如果您将井号输入为 UTF-8 并转换回 ISO 8859-1,它会在井号前获得一个大写字母 A 帽 (Â)。

我能理解后者,至少在基本层面上是这样——这是因为我们的系统必须在整个系统中使用不同的字符编码保存(或存储在 Oracle 中)井号,而且,因为我们没有指定字符编码(至少一般情况下)对于我们的网页,有时 IE 会感到困惑并且无法正确显示内容。

我不明白的是上面概述的不一致结果。

我意识到我最初的解释有点含糊,但我希望写下我的简短解释可以帮助我理清思路,并可能帮助其他人理解 future 类似的问题。

编辑:此外,我意识到我可以将所有井号替换为 HTML 实体 (£),但我觉得这既耗时又困惑(如果它存储在 Oracle 中然后传递给 PDF、Excel 会怎么样等等?)。

显然,我们将不胜感激任何指点和建议!

谢谢!

最佳答案

I am keying text in a textbox, which then gets (briefly) stored in XML before being displayed in a new IE(6) window.

问题很可能嵌入在这个序列中。如果您能详细说明如何实现此序列的细节,将会有所帮助。

此类问题的最常见原因是客户端实际将字符编码为什么与服务器认为编码是什么之间的理解不匹配。最简单的解决方案是将 accept-charset 属性放在 form 元素上,使帖子的字符编码明确。

stuff 字段中的文本将以 utf-8 编码。

一些不一致的原因是:-

  1. 服务器可能对数据库中的字符编码不正确,但是当将这些相同的字符发送到浏览器时,逆转损坏,浏览器上的内容又恢复正常了。
  2. ISO-8859-1 在不同的地方有不同的含义。 IE6 对该字符集有些松散,实际上会将其视为 Windows-1252。其他应用程序对 ISO-8859-1 进行了更严格的解释。

关于utf-8 - 字符编码问题 - 英镑符号 (£) 与 UTF-8 IE6/ASP/XML 的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1372544/

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