C语言mysql_query()插入数据库,中文乱码问题解决
Posted 梦想是优秀社畜
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言mysql_query()插入数据库,中文乱码问题解决相关的知识,希望对你有一定的参考价值。
一、乱码原因:
数据显示乱码的原因,一般只有一个,就是数据输入方和接收方或者展示方的编码格式不一致。
二、解决步骤:
解决方法就是同步数据库和mysql_query()插入语句的字符编码格式,这里以最常用的utf8为例:
1.数据库编码设置
a.执行以下命令进入需要改变编码格式的数据库
use database_name; // database_name 改成自己的数据库名称
b.执行以下命令改变数据库编码格式
ALTER DATABASE database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; // database_name 改成自己的数据库名称,如果是Mysql5的版本报错,可以把uft8mb4换成utf8
c.执行以下命令查看数据库现在的编码格式,看看改变成功了没有
show variables like 'character_set_database';
d.exit;退出Mysql
e.重启Mysql服务(以下是ubuntu系统的做法)
sudo service mysql restart
2.mysql_query()编码
// 初始化连接时设置字符集utf8
mysql_options(con, MYSQL_SET_CHARSET_NAME, "utf8mb4");
// 插入操作之前设置字符集utf8
mysql_query(mysql, "set names 'utf8'");
// 再进行插入操作
mysql_query(mysql, "insert into ...........'");
记录一下遇到的问题, 希望能帮到你~~觉得有用的话可以三连一下哈哈哈哈 ~~多谢!
表格数据插入到数据库
if($_POST){
$localhost=‘127.0.0.1‘;
$r=‘root‘;
$p=‘wuweijian‘;
$line= mysql_connect($localhost,$r,$p);
mysql_query(‘set names utf8‘);
mysql_query(‘use php2016‘);
$usename=$_POST[‘usename‘];
$email=$_POST[‘email‘];
@$sex=(int)$_POST[‘sex‘];
$age=(int)$_POST[‘age‘];
$chusheng=$_POST[‘chusheng‘];
$guanji=$_POST[‘guanji‘];
echo $sql="insert into lianxi values(null,$usename,$email,$sex,$age,$chusheng,$guanji)";
// $sql="insert into lianxi values(null,‘$usename‘,‘$email‘,$sex,$age,‘$chusheng‘,‘$guanji‘)";
$dijiuwanzuoye=mysql_query($sql);
mysql_error();
if($dijiuwanzuoye){
echo ‘成功‘;
}else{
echo ‘失败‘;
}
}else{
$str="<form action=‘dijiuwanzuoye.php‘ method=‘post‘>";
$str.=‘用户名: <input type=text name="usename" > <br/>‘;
$str.=‘性别: <input type="radio" name="sex" value="1"> 男 <input type="radio" name="sex" value="2"> 女 <br/>‘;
$str.=‘邮箱: <input type=text name="email"> <br/>‘;
$str.=‘年龄:<input type=text name="age">‘;
$str.=‘籍贯:<input type=text name="guanji">‘;
$str.=‘出生:<input type=text name="chusheng">‘;
$str.=‘<input type=submit value="提交">‘;
$str.="</form>";
echo $str;
}
//数据库
create table lianxi1(
id int unsigned primary key auto_increment,
usename varchar(20),
sex varchar(20),
age int(50),
chusheng int,
guanji varchar(20),
email int
);
以上是关于C语言mysql_query()插入数据库,中文乱码问题解决的主要内容,如果未能解决你的问题,请参考以下文章
PHPexcel 导入import 数据到 mysql: mysql 查询数据是否存在, 如果存在返回id, 不存在, 插入返回id. 2) mysql_query , mysql_connect,