utf 8 - PHP 和 MySQLi UTF8

2021-12-25 00:00:00 character-encoding php mysqli

我的表字符集是 utf8,它的排序规则是 utf8.现在我有这个代码:

my table char set is utf8 and it's collation is utf8.now i have this code:

   $mysqli = new mysqli("localhost", "root", "", "Amoozeshgah");

            if (mysqli_connect_errno()) {
                  printf("Connect failed: %s
", mysqli_connect_error());

            }
          if (!$mysqli->set_charset("utf8")) {
    printf("Error loading character set utf8: %s
", $mysqli->error);
} else {
    printf("Current character set: %s
", $mysqli->character_set_name());
}
        mysql_set_charset('utf8');
            if ($stmt = $mysqli->prepare("SELECT About_Title FROM Tbl_About WHERE About_Id=?")) {
                $city = 8;

               /* bind parameters for markers */
                $stmt->bind_param("s", $city);

              /* execute query */
                $stmt->execute();

               /* bind result variables */

                  $result = $stmt->get_result();

             /* fetch value */
            while ($myrow = $result->fetch_assoc()) {

        // use your $myrow array as you would with any other fetch
        printf("%s is in district %s
", $city, $myrow['About_Title']);
        print("shod");

    }

但输出是:

Current character set: utf8 8 is in district نتمنتشس shod

我能做什么?我换了:

if (!$mysqli->set_charset("utf8")) {
        printf("Error loading character set utf8: %s
", $mysqli->error);
    } else {
        printf("Current character set: %s
", $mysqli->character_set_name());
    }
            mysql_set_charset('utf8');

$mysqli->set_charset("utf8")

但没有区别.

推荐答案

请将 mysql_set_charset('utf8'); 替换为 $mysqli->set_charset("utf8")代码> :-)

Please replace mysql_set_charset('utf8'); to $mysqli->set_charset("utf8") :-)

相关文章