mysql中文乱码解决_mysql中文乱码解决方式

近期项目使用到mysql。却突然出现了中文乱码问题。尝试了多种方案,最终解决乱码问题,总结一下解决方式,给遇到同样问题的人一点參考。

中文乱码的原因

1.安装mysqlserver的时候编码集设定有问题

2.创建数据库的时候编码集设定有问题

3.创建表的时候编码集设定有问题

4.client的编码集设定有问题

能够通过命令查看编码集:

show variables like "%char%";

491489830e5a07d7408d63b49971d5fe.png

经常使用编码集

1.java中的经常使用编码UTF-8;GBK;GB2312;ISO-8859-1;

2.相应mysql数据库中的编码utf8;gbk;gb2312;latin1

建议使用utf8格式,utf8能够兼容世界上全部字符

mysql编码集设置命令

注意:假设不是通过my.ini配置文件设置的内容,仅仅在当前状态下有效,当重新启动数据库服务后失效。所以假设想要不出现乱码仅仅有改动my.ini文件,数据库编码能够在创建数据库时候指定UTF8

mysql设置编码命令

SET character_set_client = utf8;

SET character_set_connection = utf8;

SET character_set_database = utf8;

SET character_set_results = utf8;

SET character_set_server = utf8;

SET collation_connection = utf8_bin;

SET collation_database = utf8_bin;

SET collation_server = utf8_bin;

e99b0d5e8cfe12ef6934f87c3fc89676.png

设定mysqlserver编码

设定mysqlserver的编码。须要又一次安装mysql服务,步骤例如以下:

1.打开命令提示符(管理员)。假设不以管理员身份执行可能会出现错误

2.进入mysql安装文件夹下的bin文件夹

3.关闭服务

net stop mysql

4.卸载

mysqld -remove

5.改动mysql的配置文件。在mysql安装文件夹下找到my.ini文件

b5afe1474eff32a0c7fd88c44a6e6e11.png

改动配置文件,在配置文件里增加

character-set-server=utf8

贴出我的配置文件

[mysqld]

#设置字符集

character-set-server=utf8

#这里把路径改改为你的mysql安装文件夹

basedir=D:\develeper\mysql5.6

datadir=D:\develeper\mysql5.6\data

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

6.安装

mysqld -install

7.启动服务

net start mysql

f21ad355f5423cf37a13b20e13e2705c.png

创建时指定字符集

1.创建数据库时设定字符集

create database testdb default character set utf8;#建立数据库

2.创建表时设定字符集

use testdb;

create table student(

id char(50) primary key,

sname varchar(100) not null,

age int

)engine=innodb default charset=utf8;

3、client字符集的设定。通过连接字符串来设定。

jdbc:mysql://localhost:3306/testdb?

characterEncoding=utf8

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值