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

您所在的位置:网站首页 sublime输出问号乱码 解决数据库查询中文返回乱码问题

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

2023-08-24 12:09| 来源: 网络整理| 查看: 265

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

在windows系统下使用

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

**

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

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

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

[client] port=3306 default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] port=3306 character-set-server=utf8 collation-server=utf8_general_ci init_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&characterEncoding=utf8

加上:useUnicode=true&characterEncoding=utf8

以上还是解决不了!!!

6.查看表中的字段类型

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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3