【问题标题】:Black Diamond With White Question Mark带白色问号的黑色钻石
【发布时间】:2013-11-28 05:56:18
【问题描述】:

我正在使用此代码:

$("#myDiv").load("getTweet.php?tweet_id="+tweet_id+"&yes="+yes+"&no="+no);

要求一条推文,然后发送,但在单引号的位置,我得到带有白色问号的黑色菱形。

我尝试过使用

htmlspecialchars($tweet,ENT_QUOTES,"UTF-8")` and `mb_convert_encoding($tweet, "HTML-ENTITIES", "UTF-8");

在发送推文之前,但这并没有做任何事情。此外,当我只是去“getTweet.php”时,引号显示得很好。但是当我尝试通过 ajax 加载它们时,它们会以某种方式转换为无法显示的东西。

我觉得奇怪的另一件事是,有时引号显示得很好,但其他时候,它们显示为黑框。

我也试过了

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

和

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

奇怪的是,它们有时有效,有时无效。此外,有时一种有效,另一种无效。

有时我只需要两个都不打开,就可以正确显示。

我还应该提到,我从 twitter 获得了所有数据,在他们的网站顶部,他们有 &lt;meta charset="utf-8"&gt; 和 &lt;!DOCTYPE html&gt;,我也有。

因此,如果有人能对此有所了解,我将不胜感激!提前致谢。

【问题讨论】:

    标签: jquery ajax utf-8


    【解决方案1】:

    您可能会得到 Unicode 支持的众多引号之一。某些操作系统会在您键入时转换它们(Windows 可能是有罪的)。这有很多复杂性,但为了参考维基百科页面提供了一些参考:

    http://en.wikipedia.org/wiki/Quotation_mark_glyphs

    特别是这个:

    “弯引号和直引号有时也分别称为智能引号(“...”)和哑引号(“...”);这些名称是指在几个字处理器中找到的自动转换函数的名称用户将直引号输入到弯曲引号中。此功能称为“教育引号”,是为缺少单独的开引号和闭引号键盘键的系统开发的。”

    【讨论】:

      【解决方案2】:

      应该这样做:

      $.ajax({
          type: "GET",
          url: "getTweet.php?tweet_id="+tweet_id+"&yes="+yes+"&no="+no,
          contentType: "application/x-www-form-urlencoded;charset=UTF-8",
          success: function(data) {
              $("#myDiv").html(data);
          }
      });
      

      【讨论】:

      • 这什么也没做
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-13
      • 1970-01-01
      • 2020-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多