我有一个奇怪的。我一直运行mysqli_fetch_array并且我从未见过它之前没有回复结果我可以回显SQL然后将其插入PHPMYADMIN并获得结果集。结果是否与日语相关是否是造成问题的原因?任何帮助表示赞赏,代码如下:
$sqli_peekaboo = "SELECT KanjiElementKEB FROM stedict WHERE KanjiElementKEB = '" . $line1word . "'";
echo $sqli_peekaboo . '<br>';
$result_sqli_peekaboo = mysqli_query($conn, $sqli_peekaboo);
while($row_peekaboo = mysqli_fetch_array($result_sqli_peekaboo))
{
echo '<br>Result:'.$row_peekaboo['KanjiElementKEB'].'<br>';
}
答案 0 :(得分:1)
尝试在回显结果之前更改编码,如下所示:
header('content-type: text/html; charset=utf-8');
或者,如果它是HTML页面,那么在head标签中给出:
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
答案 1 :(得分:1)
您可以这样使用,试一试
SELECT CONVERT(KanjiElementKEB USING utf8 )
FROM stedict WHERE KanjiElementKEB = '" . $line1word . "'";
答案 2 :(得分:1)
也许游戏$line1word
与它有关,因为它也必然是日本人。我们不知道$line1word
来自哪里,但假设它未经过滤,请尝试以下方法:
$sqli_peekaboo = "SELECT KanjiElementKEB FROM stedict WHERE KanjiElementKEB = '" . mysqli_real_escape_string($line1word) . "'";
另外,请问为什么你只选择你已经拥有的东西?
答案 3 :(得分:1)
while($row_peekaboo = mysqli_fetch_array($result_sqli_peekaboo))
{
if(mb_detect_encoding($row_peekaboo['KanjiElementKEB'])=="UTF-8")
{
echo '<br>Result:'.utf8_decode($row_peekaboo['KanjiElementKEB']).'<br>';
}
}
答案 4 :(得分:0)
感谢您提供的所有建议和建议。在您的帮助下,我设法解决了这个问题: 我改变了连接加密,我之前没有这样做过。
$ conn = mysqli_connect(&#34; localhost&#34;,&#34; ******&#34;,&#34; ******&#34;,&#34 ; stedict&#34;)或mysqli_connect_error(); $ conn-&GT; set_charset(&#34; UTF8&#34);