程序写入 中文数据 到mysql中乱码 (???)

先在数据库中查询字符编码:
show VARIABLES like ‘char%’;
结果如下:
±-------------------------±---------------------------------------+
| Variable_name | Value |
±-------------------------±---------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | J:\mysql-5.7.16-winx64\share\charsets\ |
±-------------------------±---------------------------------------+

发现character_set_server这是个叛徒!原因是MySQL的默认编码是拉丁,所以打开mysql的安装目录,找到my.ini,在[mysqld]最后下面加上
character_set_server=utf8
init_connect=‘SET NAMES utf8’

之后重启MySQL。

再查看一下编码,结果变为:
±-------------------------±---------------------------------------+
| Variable_name | Value |
±-------------------------±---------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | J:\mysql-5.7.16-winx64\share\charsets\ |

之后在插入数据正常了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值