欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-02-21 10:11:34
中文乱码问题 当我第一次接触mysql,首先让我难受的是mysql的乱码问题,百度上也有许多有关的解决方案,不过作为亲身受害者,我想很有必要贴出我的心声: 1.关于my...

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

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

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

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

解释下乱码原理:
当我们链接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;

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

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

create database mydatabase default character set utf8;

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

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

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

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

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

set character_set_results=gbk;

设置连接字符集:

set character_set_connection=gbk;

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


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

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

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

net start mysql55

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

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