【问题标题】:mysql query doesn't work correctly in php on server unlike xampp server与 xampp 服务器不同,mysql 查询在服务器上的 php 中无法正常工作
【发布时间】:2013-08-12 12:19:25
【问题描述】:

我正在使用 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 服务器中工作并打印 string 但是当我在服务器上运行此代码时,结果是如此不同!

xamp 服务器 (localhost) 上的结果:

فوتبال، فوتسال
فوتبال، فوتسال
string

服务器上的结果:

فوتبال، فوتسال
فوتبال، فوتسال

strpos() 也不能在服务器上工作,但它在 localhost 中可以正常工作! 我认为服务器上的查询结果与 localhost 上的 Xamp 服务器不同,但我找不到结果。

数据库截图:

【问题讨论】:

  • 请添加news表数据。 ;)
  • 我添加了数据库和新闻表的两张图片。
  • 好的。现在有什么问题?
  • 问题是最后if 的代码在 XAMP 服务器中工作并打印字符串,但是当我在自己的服务器上运行此代码时,结果不起作用!
  • if 中测试trim($from_db)

标签: php mysql unicode utf-8 xampp


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-10
    • 1970-01-01
    • 1970-01-01
    • 2017-06-02
    • 1970-01-01
    • 2011-08-25
    • 2013-05-19
    相关资源
    最近更新 更多