Mysql数据库乱码问题

提前:

拥有如下表格:
mysql> desc stu_info;
+———-+————-+——+—–+———+—————-+
| Field | Type | Null | Key | Default | Extra |
+———-+————-+——+—–+———+—————-+
| stu_id | int(4) | NO | PRI | NULL | auto_increment |
| stu_name | varchar(20) | NO | UNI | NULL | |
| stu_sex | tinyint(1) | YES | | 1 | |
| stu_addr | varchar(40) | YES | | NULL | |
| stu_tel | varchar(20) | YES | | NULL | |
+———-+————-+——+—–+———+—————-+

问题:

如何插入汉字,能够在CMD中查看,及Web页面查看正常的显示。

实践:

1 CMD中插入数据,PHP代码查看Mysql数据

通过CMD命令打开Mysql后,设置编码为set names gbk;,然后再插入数据,在web获取时,设置编码格式为set names utf8。
代码如下:
打开cmd,连接上mysql数据库:

mysql> set names gbk;
mysql> insert into stu_info (stu_name,stu_sex,stu_addr,stu_tel) values ('乐',1,'翠微西路','8976901');
Query OK, 1 row affected (0.07 sec)

在页面中显示数据:

            mysql_query('set names utf8');
            $sql = "select * from stu_info";
            $res = mysql_query($sql);
2 PHP代码方式插入,PHP代码查看数据
$sql = "insert into stu_info (stu_name,stu_sex,stu_addr,stu_tel) values ('乐',1,'翠微西路','8976901');";

mysql_query('set names utf8;');

$re = mysql_query($sql);

if($re){
    echo '插入成功, 插入的索引id为'. mysql_insert_id().'<br>';
}else{
    echo '插入失败<br>';
}

测试结果:

插入后都可以正常显示中文。

备注:

1 如果在CMD中显示为乱码,则使用set names gbk;设置成gbk后,再查看。
2 如果在Web中显示为乱码,则应该选择Web的显示编码格式为UTF-8。
3 还可以通过chcp 65001切换CMD页面的编码为UTF-8,再进行数据的插入。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值