问题描述
我们在进行数据库的增删改查的操作时,当我们插入英文或者数字等字符串的时候能够正常显示,但的当我们插入中文字体的时候我们就会在我们的表中发现显示的是一连串的问号,没有显示出我们本该插入的中文字体,时我们该怎么解决呢?
解决方案
当我们遇到这个问题的时候首先想到的是编码问题,很可能是我们的编码格式不对,我们打开Notepad++我们会发现里面有多种编码格式:
这时候我们就需要去查看我们的这张表的编码格式,首先我们进入数据库,查看我们的编码格式;
我们会看到我们的几种编码格式,可能大家对这8中变量名不是很清楚,下面我们简单的介绍一下这几种变量名:
1、character_set_client
主要用来设置客户端使用的字符集。
2、character_set_connection
主要用来设置连接数据库时的字符集,如果程序中没有指明连接数据库使用的字符集类型则按照这个字符集设置。
3、character_set_database
主要用来设置默认创建数据库的编码格式,如果在创建数据库时没有设置编码格式,就按照这个格式设置。
4、character_set_filesystem
文件系统的编码格式,把操作系统上的文件名转化成此字符集,即把 character_set_client转换character_set_filesystem, 默认binary是不做任何转换的。
5、character_set_results
数据库给客户端返回时使用的编码格式,如果没有指明,使用服务器默认的编码格式。
6、character_set_server
服务器安装时指定的默认编码格式,这个变量建议由系统自己管理,不要人为定义。
7、character_set_system
数据库系统使用的编码格式,这个值一直是utf8,不需要设置,它是为存储系统元数据的编码格式。
8、character_sets_dir
这个变量是字符集安装的目录。
这就是8个变量的说明,大家可以简单了解一下,下面我们来介绍怎么解决这个问题,在百度上很容易查到这个问题的解决方案,很多方法是通过命令去修改这个编码格式,这里我用的是一种比较简单的方法。
我们首先找到我们MySQL的安装目录下的my.ini文件,我的是安装在d盘:D:\Program Files\MySQL\MySQL Server 5.5。我们用记事本打开,找到里面的编码配置的代码
也就是几个变量的编码格式,找到它对应的代码将其修改为utf8就可以了。
结语
我们在发生错误的时候不必马上解决,我们一定要寻求最优的解决办法,多找几种办法,没必要找到办法就,马上去实行,多做一点对比。