我正在使用此代码:
$("#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获取了所有数据,在他们网站的顶部,他们有<meta charset="utf-8">
和<!DOCTYPE html>
,我也有。
所以,如果有人能够对此有所了解,我将非常感激!提前谢谢。
答案 0 :(得分:1)
您可能会收到Unicode支持的众多引号中的一个。某些操作系统会在您键入时转换它们(窗口可能会有罪)。这有很多复杂性,但作为参考,维基百科页面提供了一些参考:
http://en.wikipedia.org/wiki/Quotation_mark_glyphs
特别是:
“曲线和直线引号有时也分别称为智能引号(”...“)和哑引号(”...“);这些名称是指在多个自动转换的字处理器中找到的函数的名称用户输入的直引号为弯曲引号。此功能称为“教育引号”,是为缺少单独的开启和关闭引用键盘键的系统开发的。“
答案 1 :(得分:-1)
这应该这样做:
$.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);
}
});