-1

我正在使用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 服务器不同,但我找不到结果。

数据库截图:

整理数据库

新闻表

4

1 回答 1

0

我改成Charset EncodinginUnicode(UTF-8)然后browser改Server里的代码,不知道怎么回事,问题成功解决了!

于 2013-08-13T11:54:57.407 回答