问号显示像”????”而是来自 php 或 mysql 的波斯字符……!

question mark show like "????" instead persian character from php or mysql...!

本问题已经有最佳答案,请猛点这里访问。

对不起……!我的英文不是很好!
直到上周我使用 "www.000webhost.com" 网络主机,我没有问题!!!
但是今天我买了一台新服务器并像以前一样使用旧文件...
我不知道问题出在 php 文件还是数据库?

请告诉我解决方案

这是我的 php 代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
    <?php
    //Creating a connection
    $con = mysqli_connect("___","___","___","___");

    if (mysqli_connect_errno())
    {
       echo"Failed to connect to MySQL:" . mysqli_connect_error();
    }
    /*Get the id of the last visible item in the RecyclerView from the request and store it in a variable. For            the first request id will be zero.*/  
    $id = $_GET["id"];

    $sql="Select * from db_app where id between ($id+1) and ($id+10)";

    $result = mysqli_query($con ,$sql);

    while ($row = mysqli_fetch_assoc($result)) {

        $array[] = $row;

    }
    header('Content-Type:Application/json');

    echo json_encode($array);

    mysqli_free_result($result);

    mysqli_close($con);

 ?>

这是我的数据库代码

1
2
3
4
5
6
7
8
9
10
11
12
    CREATE DATABASE `android_db`;

USE `android_db`;


CREATE TABLE IF NOT EXISTS `db_app` (
  `id` int(15) NOT NULL AUTO_INCREMENT,
  `movie_name` varchar(45) NOT NULL,
  `movie_image` varchar(10000) NOT NULL,
  `movie_genre` varchar(40) NOT NULL,
  PRIMARY KEY (`id`)
);


当字符集未设置时会发生这种情况。

连接mysql后试试,

1
2
3
4
5
6
7
8
9
/* change character set to utf8 */
if (!$mysqli->set_charset("utf8")) {
    printf("Error loading character set utf8: %s\
"
, $mysqli->error);
    exit();
} else {
    printf("Current character set: %s\
"
, $mysqli->character_set_name());
}

取自:http://php.net/manual/en/mysqli.set-charset.php