解决php向mysql数据库插入数据乱码问题

mysql数据库乱码问题解决办法

我们在使用数据库(mysql)的时候最怕的就是数据库中的中文出现乱码,而且百度中除了更改配置文件中的字符集好像也没有其他建设性的方法,更重要的是这些方法我都一一尝试过了,好像并不能解决问题。那么我就为大家提供一个比较实用而且我一直在用的办法。
因为我是学php开发的,那我讲的这些方法在php代码中都是可以使用的,其他程序设计语言中我没尝试过,但是操作mysql数据库的命令都是一致的,所以应该也可以使用,下面我就讲一下我所说的方法。

  • 首先我们先要设置数据表的字符集为utf8,如果是使用phpmyadmin图形界面建立数据表的,直接在建表界面找到整理选项,如下图:
    这里写图片描述

    然后选择如下图字符集格式:

这里写图片描述

如果是在命令窗口下通过命令建立数据表,我们可以使用create database 数据库名 character set utf8;命令建立字符集为utf-8的数据库,在该数据库下创建的数据表字符集都是utf8,否则为latin1,示例:

使用create database 数据库名;命令建立数据库A,并创建数据表first
这里写图片描述
通过show create table 数据表名;查看表结构我们可以看到它的字符集为latin1

使用create database 数据库名 character set utf8;命令建立数据库B,并创建数据表first
这里写图片描述
查看表结构可以看出该表的字符集为utf8

  • 其次,仅仅更改数据库的字符集还不能达到目的,在代码中连接数据库后也要采取相应的措施,否则中文还是以乱码的形式保存在数据库中。例如php,我们在连接数据库以后执行如下操作即可避免插入乱码的问题:
    这里写图片描述

在编程过程中执行上述两部分操作即可避免中文乱码的问题,一定注意这两部分操作缺一不可。

  • 11
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值