PHP插入中文数据到虚拟主机上中文乱码显示的问题

我用的是西部数据的虚拟主机,mysql是花了200块,西部数据的人才给升级到了5.6mysql,兼容5.5。重点在里:我找西部数据的技术人员要求开放我这个数据库的权限给我。因为想运行这段代码必须要管理员权限    $conn->query("SET NAMES gb2312");  

   自己本地配置的开发环境因为可以自己随便设置权限,所以不会出现这种问题。

 

首先你先查看自己mysql里的编码   命令是

执行成功后显示如下

PHP插入数据的代码里面一定要加头文件:header("Content-type:text/html;charset=gb2312");

还有就是在链接数据库的代码后面添加这句话:$conn->query("SET NAMES gb2312");

 

完整代码贴出来

<?php
header("Content-type:text/html;charset=gb2312");


$servername = "";
$username = "";
$password = "";
$dbname = "";


// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);


$conn->query("SET NAMES gb2312");
// 检测连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}


$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('二二', '测试', 'john@example.com')";

if (mysqli_query($conn, $sql)) {
    echo "新记录插入成功";
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}

$conn->close();
?> 

 

 

 

 

 

posted @ 2017-09-12 10:38  大王叫我来巡山诶  阅读(413)  评论(0编辑  收藏  举报