PHP 5、XSL 和字符 Ú

发布于 2024-11-05 03:24:13 字数 142 浏览 1 评论 0原文

我很难

字母Ú

通过 PHP 5.3 和 XSL 呈现 。它是数据库中字符串的一部分,并加载到标签内的 XML 节点中。但是,它会导致 XSL/XML 转换无法呈现。从字符串中删除该字符可以立即解决问题。

有什么想法吗?

Im having dificulty getting the letter

Ú

to render through PHP 5.3 and XSL. Its part of a string in a database and that is loaded into an XML node within a tags. However it causes the XSL/XML transformation to not render. Removing the character from the string fixes the problem instantly.

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

小清晰的声音 2024-11-12 03:24:13

您使用什么字符编码?从它的声音来看,你有某种字符编码不匹配。

如果您的 XSL 使用 ISO-8559-1(或等效的 ASCII)并且您尝试输出到 UTF-8 编码的页面,则字符输出将关闭。反之亦然。

What character encoding are you using? From the sounds of it you have some sort of character encoding mismatch.

If your XSL is using ISO-8559-1 (or ASCII equivalent) and you are trying to output to a page that is UTF-8 encoded then the character output will be off. It also works vice-versa.

尐籹人 2024-11-12 03:24:13

实际上我不知道正确的答案,但我有一个如下的解决方案:

"&".htmlentities("Ú");

Actually I don't know right answer but I have a solution like below :

"&".htmlentities("Ú");
自此以后,行同陌路 2024-11-12 03:24:13

由于编码问题,您的 XSL 转换引擎可能会将您的文档解释为格式不正确的 XML。如果包含 Ú 的文本使用某种 8 位编码(例如 ISO-8859 变体)存储,则在不进行任何字符转换的情况下按原样使用该字符将不会生成有效的 UTF-8 八位字节。 XML 文档中的无效字符意味着它不是格式良好的 XML,并且禁止将其作为 XML 进行处理。

在很多情况下都可能发生编码错误:

  • 可能会错误地存储在数据库中
  • 可能会错误地从数据库中读取
  • 您可能会通过连接使用不同编码的字符串来生成 XML
  • 您可能会使用以下工具或方法来操作文本无法处理您的编码或不知道它
  • 您的 XSLT 引擎可能不知道输入流的正确编码,从而导致文件被拒绝,即使它没有编码错误

我对可能原因的随机猜测是第 3 点和 5.

Your XSL transformation engine probably interprets your document as non-well-formed XML because of encoding issues. If that text containing Ú is stored using some 8-bit encoding (like ISO-8859 variants), then this character will not produce a valid UTF-8 octet if it is used as such without any character conversion. Invalid characters in an XML document will mean it is not well formed XML and processing it as XML is forbidden.

There are many points where that encoding error might happen:

  • it could be stored in the database incorrectly
  • it could be read from the database incorrectly
  • you might produce your XML by concatenating strings that use different encodings
  • you might manipulate the text with a tool or method that can't handle your encoding or is not aware of it
  • your XSLT engine might not be aware of the correct encoding of the input stream resulting a rejected file even though it has no encoding error

My random guesses for the probable causes of that are points 3 and 5.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文