首页 > 编程知识 正文

数据库数据显示乱码,数据库如何解决中文乱码

时间:2023-05-03 18:52:58 阅读:219736 作者:4053

解决数据库查询返回乱码问题

在windows系统下使用

声明小编使用的是本地调试
1.server本身设定问题,例如还停留在latin1
2.table的语系设定问题(包含character与collation)
3.客户端程式(例如php)的连线语系设定问题
强烈建议使用utf8!!!
utf8可以兼容世界上所有字符!!!

**

1.首先查看数据库字符集相关的配置

dos命令 : show variables like ‘character_set%’;


一定要根据自己的实际业务操作,上图是小编的
如果不是的请往下看。
找到配置文件my.ini
配置如下:

[client]port=3306default-character-set=utf8[mysql]default-character-set=utf8[mysqld]port=3306character-set-server=utf8collation-server=utf8_general_ciinit_connect='SET collation_connection = utf8_unicode_ci' init_connect='SET NAMES utf8' collation-server=utf8_unicode_ci skip-character-set-client-handshake

重新启动服务

再次使用命令继续查看是不是改变了。

2.查看数据库字符集

3.查看表字符集

4.查看自己表中列的字符集


5.数据库连接 spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=GMT%2B8&useUnicode=true&风中的外套=utf8

加上:useUnicode=true&风中的外套=utf8

以上还是解决不了!!!

6.查看表中的字段类型

存储的中文字段类型是varbinary,修改为VARCHAR 试试
为什么修改可以正常显示呢
BINARY和VARBINARY与 CHAR和VARCHAR类型有点类似,不同的是BINARY和VARBINARY存储的是二进制的字符串,而非字符型字符串。也就是说,BINARY和VARBINARY没有字符集的概念,对其排序和比较都是按照二进制值进行对比
转自:https://blog.csdn.net/sxingming/article/details/52628531

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。