解决MySQL数据显示乱码的方法(mysql数据显示乱码)

MySQL在运用过程中因字符集的原因,有时会出现乱码的现象。和大家一起来看一下MySQL的乱码怎么办吧!

一般乱码的现象都是由字符集的编码冲突造成的,可利用以下SQL语句来检查并调整字符集:

1. 查询当前的数据库的字符集:

“`sql

SELECT default_character_set_name FROM information_schema.SCHEMATA s WHERE s.schema_name = ‘库名’;


2. 查看当前表的字符集:

```sql
select TABLE_NAME,table_collation from information_schema.tables where table_schema = '库名';

3. 查看当前字段的字符集:

“`sql

select TABLE_NAME,COLUMN_NAME,COLLATION_NAME from information_schema.columns where table_schema=’库名’ and TABLE_NAME=’表名’


通过这几条语句可以知道,当前MySQL数据库下的库、表、字段,当前所使用的字符集。

一般比较常见的字符集是utf8和gbk,如果出现乱码,而没有定义字符集,可以使用以下语句来进行定义:

(1)定义整个MySQL的字符集:

```sql
show variables like 'character%';
set character_set_server=utf8;
set character_set_database=utf8;
set character_set_connection=utf8;
set character_set_client=utf8;
set character_set_results=utf8;

(2)定义库的字符集:

“`sql

alter database 数据库名 character set utf8;


(3)定义表的字符集:

```sql
alter table table_name default character set utf8;

(4)定义字段的字符集:

“`sql

alter table 表名 change 字段名 字段名 varchar(100) character set utf8;


这样在执行上面的语句后,就可以解决MySQL数据库乱码的问题了。最后,一定要记得把MySQL授权连接加上字符集参数,比如:

`jdbcurl=jdbc:mysql://localhost:3306/xxdb?characterEncoding=utf-8`

这样就可以解决乱码的选择了,也就避免乱码的出现。

数据运维技术 » 解决MySQL数据显示乱码的方法(mysql数据显示乱码)