mysql乱码问题解决(navicat乱码)及删除注册服务命令

本文详细介绍了如何解决MySQL数据库及Navicat工具中的中文乱码问题,包括修改my.ini配置文件、调整数据库编码及Navicat连接属性等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一,mysql乱码
1,mysql -u root -p登陆mysql
2,查看默认编码格式:
mysql> show variables like "%char%";
3,**(不用做)**设置编码格式:

SET character_set_client='utf8'; 
SET character_set_connection='utf8'; 
SET character_set_server='utf8'; 

实践可以发现以上的解决办法“SET character_set_****=utf8”,在重启mysql服务时会恢复原来的编码

4,这时,我们需要去更改my.ini,默认位置C:\ProgramData\MySQL\MySQL Server 5.6
或者打开服务,找到Mysql56,右击属性,可执行文件夹路径中有defaults-file

"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.6\my.ini" MySQL56

打开,在大概一百行的时候可以看见[mysqld]结点下的字符编码,要修改为
将character-set-server=xxx这1行换成下面2行

character-set-client-handshake = FALSE
character-set-server=utf8

就OK了,再去查看编码就是utf8了

5,**(知识讲解:my.ini中[mysqld]结点)**再讲一下[mysqld]结点下的一些:

character-set-client-handshake = FALSE  # 设置客户端使用服务端配置的编码,忽略客户端编码的配置
character-set-server=utf8mb4       # 设置服务端编码
collation-server = utf8mb4_general_ci    # 设置服务端排序规则
init_connect=‘set names utf8mb4’

还有个需要注意的就是:

  1. default-storage-engine=INNODB 默认的数据存储引擎

  2. sql-mode=“STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION” 规则越严格,意味着操作时受到的限制越多!

(注册服务很少用到)
再讲一下mysql删除windows服务,注册windows服务命令
1、关闭mysql服务
2、执行sc delete MySQL56 (MYSQL为服务名),输出服务被删除成功的提示
3、执行mysqld install MySQL56 ––defaults-file=”D:\mysql-5.7.17-winx64\my-default.ini”
要记得这里有两根–,不然启动服务会启动不了,需要到windows日志查看错误提示,提示-d****有问题。

二,navicat for mysql中文乱码
navicat提示非法字符串incorrect string value:’\xE9\x98’ for column ‘sno’ at row 4
不管是写存储过程还是直接插入在这里插入图片描述
1, 修改Navicat服务器连接属性
在这里插入图片描述在这里插入图片描述
2,修改数据库属性
重新连接仍然乱码修改mysql安装目录下my.ini文件
在这里插入图片描述在这里插入图片描述
3,重新连接仍然乱码
Navicat连接编码格式改为“Current Windows Codepage”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值