PHP向MySQL插入记录时中文乱码
Posted 敲代码的xiaolang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP向MySQL插入记录时中文乱码相关的知识,希望对你有一定的参考价值。
php代码如下:
<?php
$servername = "localhost";
$username = "root";
$password = "123456";
$dbname = "web3";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn->connect_error)
die("连接失败: " . $conn->connect_error);
$sql = "INSERT INTO question (username, email,message)
VALUES ('xiaowang', '66666@qq.com','这是一个测试语句!')";
if ($conn->query($sql) === TRUE)
echo "新记录插入成功";
else
echo "Error: " . $sql . "<br>" . $conn->error;
$conn->close();
?>
执行后数据库显示如下,中文部分出现乱码:
数据库和数据表设置如下:
解决方法:
加入下面的代码:
$conn->query("SET NAMES utf8");
故修改后为:
<?php
$servername = "localhost";
$username = "root";
$password = "123456";
$dbname = "web3";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
$conn->query("SET NAMES utf8");
// 检测连接
if ($conn->connect_error)
die("连接失败: " . $conn->connect_error);
$sql = "INSERT INTO question (username, email,message)
VALUES ('xiaowang', '66666@qq.com','这是一个测试语句!')";
if ($conn->query($sql) === TRUE)
echo "新记录插入成功";
else
echo "Error: " . $sql . "<br>" . $conn->error;
$conn->close();
?>
结果为:
以上是关于PHP向MySQL插入记录时中文乱码的主要内容,如果未能解决你的问题,请参考以下文章