解决MySQL数据显示乱码的方法(mysql数据显示乱码)
MySQL在运用过程中因字符集的原因,有时会出现乱码的现象。和大家一起来看一下MySQL的乱码怎么办吧!
一般乱码的现象都是由字符集的编码冲突造成的,可利用以下SQL语句来检查并调整字符集:
1. 查询当前的数据库的字符集:
“`sql
SELECT default_character_set_name FROM information_schema.SCHEMATA s WHERE s.schema_name = ‘库名’;
2. 查看当前表的字符集:
```sqlselect 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的字符集:
```sqlshow 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)定义表的字符集:
```sqlalter 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`
这样就可以解决乱码的选择了,也就避免乱码的出现。