我在 MySQL 中有一篇 article
,其中有一个 title
列。现在,特定文章 id
的标题列包含字符 You’
。当我查询这篇文章时,PHP 根本不返回任何内容,并且屏幕完全空白。 “查看源代码”也没有显示任何内容。
这是代码:
static function getArticle($params)
{
$id=$params['article_id'];
$queryv = "SELECT * FROM 'articles WHERE `article_id`='{$id}'";
$resultv = mysql_query($queryv) or die(json_encode(mysql_error()));
if (mysql_num_rows($resultv) > 0)
{
$row = mysql_fetch_assoc($resultv);
$title=strtoupper($row['article_title']);
$body=$row['article_body'];
return(array('article_id'=>$row['article_id'],
'article_body'=>"<h3 style='width:100%;text-align:center;'>$title</h3>$body",
'article_title'=>$row['article_title'],
'article_author'=>$row['article_author'],
'article_image'=>$row['article_image'],
'article_share_link'=>$row['article_share_link'],
'article_author_image'=>$row['article_author_image'],
));
}
}
我在 MySQL 中使用 utf8mb4_general_ci
作为排序规则。 phpmyadmin 确实返回了正确的结果。
在发布这个问题之前我确实在网上搜索过,但没有人遇到完全没有回复的问题。
最佳答案
使用 ini_set( 'default_charset', 'UTF-8' ); 将您的 php 字符集设置为 utf-8;
然后尝试 SELECT CONVERT("Youâ€",char CHARSET utf8)
它可能有效
关于PHP 查询的空白响应返回特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37960597/