PHP,Mysql正常 ; navicat工具编码是utf-8 , php文件是utf-8 。在表单里写入中文用浏览器提交到数据库,navicat工具里面显示的是中文乱码

必须在PHP文件中 写SQL语句的上方写上 query("SET NAMES UTF8");

例如

//连接数据库

$host = '127.0.0.1';
$dbuser = 'root';
$pwd = '';
$dbname = 'php10';

$db = new mysqli($host, $dbuser, $pwd, $dbname);
if($db->connect_errno <> 0){
    die("连接失败");
    echo $db->connect_error;
}
$db->query("SET NAMES UTF8");    // 在这里插入navicat工具里就不会显示中文乱码了
$time = time();
$sql = "INSERT INTO msg (content,user,intime) VALUES ('{$content}','{$user}','$time') ";
$is = $db->query($sql);

if($is == true){
    echo "插入成功";
}else{
    echo "插入失败";
}
var_dump($is);

你可能感兴趣的:(PHP)