6
4

5 回答 5

7

我有同样的问题,这段代码:mysqli_set_charset($con, "utf8");解决了我的问题!

于 2014-08-10T12:07:25.870 回答
3

你应该使用这个代码

$yourConnection->set_charset("utf8");

例如

function insertUser($inUN,$inP,$inFN,$inLN,$inE,$inD)
    {   
        $servername="localhost";
        $username="mnr";
        $password="milad1373";
        $databacename="mnr01";

        $conn = new mysqli($servername, $username, $password, $databacename);
        if ($conn->connect_error) {
            die("Connection failed: " . $conn->connect_error);
        } 
        $conn->set_charset("utf8");

        $sql = "INSERT INTO chuser (username, passWord, fname,lname,email,date)
        VALUES ('$inUN', '$inP','$inFN','$inLN', '$inE','$inD')";
        if ($conn->query($sql) === TRUE) {
            echo "New record created successfully";
        } else {
            echo "Error: " . $sql . "<br>" . $conn->error;
        }

        $conn->close();
    }

我遇到了这个问题,但它已通过此代码解决,有关更多信息,请访问此链接

于 2015-03-21T10:55:24.453 回答
2

确保您已执行

SET character_set_results=utf8

SET NAMES 'utf8'

在您发送任何INSERT命令之前。

查看此问题以获取更多信息。我认为这可能会有所帮助;

于 2013-12-11T13:08:20.467 回答
0

解决了:

在连接

<?php
 $dbLink = mysql_connect($argHost, $argUsername, $argPassword);
    mysql_query("SET character_set_results=utf8", $dbLink);
    mb_language('uni'); 
    mb_internal_encoding('UTF-8');
    mysql_select_db($argDB, $dbLink);
    mysql_query("set names 'utf8'",$dbLink);
?>

来源: PHP mysql charset utf8 问题

于 2013-12-12T05:43:03.437 回答
0

utf8_unicode_ci您应该在 phpmyadmin 中将排序规则更改为:

  1. 去你的 localhost/phpmyadmin
  2. 选择您的数据库
  3. 在您的数据库旁边有一个小图标单击它
  4. 点击更改
  5. 将排序规则更改为utf8_unicode_ci.
  6. 将此代码插入到您的 php 文件中。
if (!$connection->set_charset("utf8")) {
    printf("Error loading character set utf8: %s\n", $mysqli->error);
    exit();
} else {
    printf("Current character set: %s\n", $connection->character_set_name());
}
于 2018-07-08T13:16:02.500 回答