win7下mysql 5.7版本中修改编码为utf-8的方法步骤

mysql的默认编码是拉丁(latin1),当输入中文的时候就会报错,所以需要将编码修改为utf8,从网上找了相关教程都不可以,索性自己摸索后分享给大家,下面这篇文章主要给大家介绍了在mysql 5.7版本中如何修改编码为utf-8的方法步骤,需要的朋友可以参考下。

刚开始学习MySQL,下载的是官网最新版本 5.7.14,使用cmd输入中文时报错,于是开始修改mysql默认编码(windows下),下面来看看详细的修改方法吧。

方法如下

首先通过 show variables like 'character_set_%';查看mysql字符集情

默认编码为 latin1

然后关闭数据库

在mysql安装目录下找到my.ini文件

在其中添加

[client]
default-character-set=utf8

[mysqld]下添加

character-set-server=utf8

重启mysql

就能将mysql数据库默认编码改为utf-8

网上很多资源都是在[mysqld]下添加

default-character-set=utf8

如果这样改会导致5.7版本mysql无法打开

所以要改为

character-set-server=utf8

注意:改完后,要删除数据库中所有数据,才能使用。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助。


原文地址:http://www.xz-src.com/6132.html

参考资源链接:[MySQL varchar字符存储上限详解(不同版本编码)](https://wenku.csdn.net/doc/6mar2zzfch?utm_source=wenku_answer2doc_content) 在了解MySQL中VARCHAR字段的最大字符数限制时,关键是要区分不同版本MySQL以及不同的字符集如何影响这一限制。根据提供的辅助资料《MySQL varchar字符存储上限详解(不同版本编码)》,我们可以具体分析GBK和UTF-8mb4字符集在MySQL 5.0和5.7版本下的情况。 首先,在MySQL 5.0版本及以上版本中,VARCHAR类型使用字符作为长度单位,而不是字节。对于GBK字符集,每个字符占用2个字节,而对于UTF-8mb4字符集,字符占用的字节数可能达到4个字节(如某些表情符号)。VARCHAR字段的最大长度是65535字节,但实际可用长度还需要考虑表中其他列的空间占用以及存储null值所需的额外字节(1字节或者更多)。 在GBK编码下,如果一个表只有一列VARCHAR字段,那么最大字符数限制为(65535 - 1) / 2 = 32767个字符,因为还需要减去一个字节用于存储null值。对于UTF-8mb4编码,如果考虑到最坏情况,即每4个字节存储一个字符,那么最大字符数限制为(65535 - 1) / 4 = 16383个字符。 对于MySQL 5.7版本,存储引擎InnoDB对最大行大小有额外的限制,默认最大为65535字节。如果使用InnoDB并且表中包含的列总数较多或列数据类型较大,则可能需要调整max_allowed_packet和innodb_strict_mode等参数,以确保能够存储足够长度的VARCHAR字段。 实际案例中,如果你正在设计一个用户信息表,需要存储中文用户名,并且希望支持表情符号,那么GBK编码下VARCHAR字段的最大长度可以设置为32767个中文字符,而UTF-8mb4编码下可能需要根据实际存储需求调整字段长度。例如,如果你希望支持约5000个字符,GBK编码下可以设置VARCHAR字段长度为5000个字符,UTF-8mb4编码下则需要考虑字节和字符的关系,确保最大长度限制在可接受的范围内。 为了深入理解这些概念,并能在实际项目中灵活应用,强烈推荐参考提供的资料《MySQL varchar字符存储上限详解(不同版本编码)》。这份资料不仅提供了详细的理论分析,还包含多种实际案例,帮助开发者全面掌握如何在不同版本和字符集的MySQL数据库中处理VARCHAR类型字段,确保数据存储的准确性和高效性。 参考资源链接:[MySQL varchar字符存储上限详解(不同版本编码)](https://wenku.csdn.net/doc/6mar2zzfch?utm_source=wenku_answer2doc_content)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值