简单解决Windows中MySQL的中文乱码与服务启动问题

所属分类: 数据库 / Mysql 阅读数: 1276
收藏 0 赞 0 分享

中文乱码问题
当我第一次接触mysql,首先让我难受的是mysql的乱码问题,百度上也有许多有关的解决方案,不过作为亲身受害者,我想很有必要贴出我的心声:
1.关于mysql的字符集处理
mysql在标识数据时采取二进制字符和非二进制字符格式,前者主要用来标识图片,声音,后者就完成剩余的所有功能,而对于后者,就存在字符集设置问题。
我们知道数据库是老外搞出来的,他们在设计的时候并没有考虑到编码格式的问题,在计算机流行的现代每个国家为了支持本国的语言,都推出了自己本国的编码格式,下面利用mysql命令列出世界上所有的编码:

2016310143101531.jpg (648×726)

其中的GBK、gb2312、big5是中国的编码
GBK:支持21000多个汉字,包括简体和繁体,占2个字节
gb2312:支持6700多个汉字,占2个字节
big5:支持繁体字符集,主要是支持香港、台湾那边的字符,繁体,13000多汉字,2个字节
国际标准化组织为了统一格式,创建了UTF8编码,也就是unicode编码的一种格式,称为万国码,支持世界上的所有语言具体解决方案:
首先利用命令行,查看字符集:

2016310143124283.png (648×430)

解释下乱码原理:
当我们链接mysql数据库时,实际上要经过下面几个步骤:
客户端->链接端->数据库字段端->返回端
就是上面的贴图中的

character_set_client
character_set_connection
character_set_database
character_set_result

乱码问题出现这几个步骤中,只要其中某个步骤出错,就会出现乱码
当我们用程序在外部链接mysql 数据库时,客户端就是我们的程序软件,所以要将客户端设置成GBK或者gb2312,链接时设置为UTF8或者GBK,数据库设置为gbk或utf8
返回设置成GBK,这样一般就不会出现中文乱码了
如下图所示:
你可以通过命令行设置:
如果不考虑注入问题,你可以采取以下方法:

set names gbk ;

这条命令设置了客户端、连接端、返回端均为GBK;

2016310143321628.png (640×416)

你也可以逐个设置:
在创建库的时候设置字符集:
利用命令:

create database mydatabase default character set utf8;

2016310143356799.png (640×221)

在创建表的时候指定表的字符集:
利用命令:

create table user(name char(30) character set gbk) default character set gbk;

2016310143411912.png (635×79)

还有如下设置:
设置结果集:

set character_set_results=gbk;

设置连接字符集:

set character_set_connection=gbk;

因为我们现在是学习阶段,不考虑内存容量问题,统一设置为UTF8,如果你的程序只支持汉语,你的作品向外发行最好选择GBK编码。。。。。
如果你按照上面的方法做还是发现程序运行有问题,请检查您的程序是否也是UNICODE编码,我以前就是因为这个原因。


启动服务问题
我现在假设您在安装mysql数据库的时候建立了登录用户和密码(mysql是免费的可以到官网下载)
安装完成的mysql数据库是开机自动运行的,如果您的mysql数据库服务不小心被关闭,可以采取以下解决方案:
方案1:在桌面计算机图标上单击鼠标右键,
管理->服务和应用程序->服务 然后在列表中找到mysql服务项,单击鼠标右键执行“启动”,当然你也可以在这里停止mysql服务。

2016310143434856.jpg (778×449)

方案2:
打开cmd(命令行),执行命令:

net start mysql55

注意:这里的mysql55是我的PC上的MYSQl数据库服务名,具体要按照自己PC的数据库服务名执行。。。这个服务名是你安装mysq数据库指定的服务名。

2016310143500402.png (675×439)

更多精彩内容其他人还在看

mysql多表连接查询实例讲解

本篇文章中给大家通过实例代码讲述了mysql多表连接查询的方法,有需要的朋友们可以参考学习下。
收藏 0 赞 0 分享

MySQL设置global变量和session变量的两种方法详解

这篇文章主要介绍了MySQL设置global变量和session变量的两种方法,每种方法给大家介绍的非常详细 ,需要的朋友可以参考下
收藏 0 赞 0 分享

8种手动和自动备份MySQL数据库的方法

作为流行的开源数据库管理系统,MySQL的使用者众多,为了维护数据安全性,数据备份是必不可少的。本文就为大家介绍几种适用于企业的数据备份方法,需要的朋友可以参考下
收藏 0 赞 0 分享

使用JDBC连接Mysql数据库会出现的问题总结

这篇文章主要给大家介绍了关于使用JDBC连接Mysql数据库会出现的问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Ubuntu中MySQL的参数文件my.cnf示例详析

这篇文章主要给大家介绍了关于Ubuntu中MySQL的参数文件my.cnf的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用mysql具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

解决启动MongoDB错误:error while loading shared libraries: libstdc++.so.6:cannot open shared object file:

本文提供了解启动MongoDB时提示:error while loading shared libraries: libstdc++.so.6: cannot open shared object file: 错误的解决方案
收藏 0 赞 0 分享

PHP定时备份MySQL与mysqldump语法参数详解

本文为大家介绍了PHP利用mysqldump命令定时备份MySQL与mysqldump语法参数大全以及定时备份的PHP实例代码
收藏 0 赞 0 分享

定时备份 Mysql并上传到七牛的方法

常见的 MySQL 数据备份方式有,直接打包复制对应的数据库或表文件(物理备份)、mysqldump 全量逻辑备份、xtrabackup 增量逻辑备份等。这篇文章主要介绍了定时备份 MySQL 并上传到七牛 ,需要的朋友可以参考下
收藏 0 赞 0 分享

MySQL锁(表锁,行锁,共享锁,排它锁,间隙锁)使用详解

本文全面讲解了MySQL中锁包括表锁,行锁,共享锁,排它锁,间隙锁的详细使用方法
收藏 0 赞 0 分享

MySQL中的排序函数field()实例详解

这篇文章主要给大家介绍了关于MySQL中排序函数field()的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享
查看更多