【问题标题】:  not being displayed properly没有正确显示
【发布时间】:2010-12-09 05:33:32
【问题描述】:

我在网页中显示   时遇到问题,在 PHP 中使用 utf8_decode() 后,它会显示为 ...。

我一直在用

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

我刚刚注意到,所有其他特殊字符,如 ® 、 ™ 等也不起作用。

【问题讨论】:

  • 如果紧急,您应该提供尽可能多的信息:我们需要源代码,最好是您的 Web 服务器上的脚本输出,以便能够以最好的方式帮助您。
  • 我注意到代码开头有一个空行,这会导致问题吗?
  • 你真的在使用字符引用&amp;nbsp;吗?

标签: php utf-8


【解决方案1】:

确保您在 HTML 文档的标签中指定了 UTF-8 编码:

  <meta content="text/html; charset=UTF-8" http-equiv="content-type" />

【讨论】:

  • 我一直在使用 ttp://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" rel="nofollow" target="_blank">w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> w3.org/1999/xhtml" xml:lang ="en" lang="en">
【解决方案2】:

这很奇怪,因为utf8_encode('&amp;nbsp;')==='&amp;nbsp;'。无论是 utf8 还是 latin1 编码,&amp;nbsp; 的字节序列都是相同的。
剩余的字符串是否正确 utf8 编码?

编辑:当您告诉浏览器您的页面是 utf8 编码时,为什么首先使用 utf8_decode()(将 utf8 编码的字符串转换为 latin1)?

【讨论】:

  • 我不知道该字符串是否正确 utf8 编码,我该如何检查它?
  • 如果启用了 mbstring moule,您可以使用 mb_check_encoding() 检查编码。 docs.php.net/mb_check_encoding 但请注意我的编辑。
【解决方案3】:

你检查过 php 文件本身的编码吗?

在某些 Windows 编辑器(如 notepad++)中,当您检查文件的错误编码时,您可能会遇到一些 utf-8 字符问题 - 即使您正确设置了元标记。

在记事本++中,您可以在此部分更改它:

Change notepad++ file encoding http://img198.imageshack.us/img198/9081/notepadp.png

如果您没有使用 notepad++,我们需要您的设置提供一些更详细的信息,例如使用的操作系统、IDE 等。

【讨论】:

    【解决方案4】:

    同时确保你给文档一个正确的 dtd 定义,如下所示:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    

    作为 php 文件中 html 的第一行。

    【讨论】:

    • 即使这样也没有用,我刚改了,我注意到代码开头有一个空行,这会导致问题吗?
    【解决方案5】:

    当你使用utf8_decode时,传递给这个函数的字符串是从哪里加载的?你是从数据库加载数据吗?你有任何包含的文件吗?如果是这样,请检查它们是否都按照 GmonC 编写的方式编码。尝试在页面某处回显&amp;nbsp;,看看它是否会正确显示。如果没有,请尝试制作干净的 .php 文件,然后查看问题是否仍然存在。如果不是某些包含的文件可能是问题,因为它可能有不同的编码

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多