我正在使用utf8_persian_ci排序规则在波斯网站上工作。
我的 PHP 代码:
<?php
header('Content-Type: text/html; charset=utf-8');
$dbhandle = mysql_connect($hostname, $username, $password)
or die("Unable to connect to MySQL");
mysql_query("SET NAMES 'utf8'");
mysql_query("SET character_set_connection='utf8'", $dbhandle);
$selected = mysql_select_db("news",$dbhandle);
$str = 'فوتبال، فوتسال';
echo $str . '<br>';
$query = "SELECT * FROM news WHERE link_num='92051810161'";
$result = mysql_query($query);
if (mysql_num_rows($result) == 1) {
while ($row = mysql_fetch_array($result)) {
$from_db = $row{'category'};
echo $from_db . '<br>';
}
}
if ($str == $from_db) {
echo "string";
}
?>
问题是代码的最后一个条件在 XAMP 服务器中工作并打印字符串,但是当我在服务器上运行此代码时,结果是如此不同!
xamp 服务器 ( localhost ) 上的结果:
فوتبال، فوتسال
فوتبال، فوتسال
string
服务器上的结果:
فوتبال، فوتسال
فوتبال، فوتسال
strpos()在服务器上也不起作用,但在 localhost 中可以正常工作!我认为服务器上的查询结果与本地主机上的 Xamp 服务器不同,但我找不到结果。
数据库截图: