300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 解决数据库查询中文返回乱码问题

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

时间:2019-02-13 10:28:29

相关推荐

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

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

在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&characterEncoding=utf8

加上:useUnicode=true&characterEncoding=utf8

以上还是解决不了!!!

6.查看表中的字段类型

存储的中文字段类型是varbinary,修改为VARCHAR 试试

为什么修改可以正常显示呢

BINARY和VARBINARY与 CHAR和VARCHAR类型有点类似,不同的是BINARY和VARBINARY存储的是二进制的字符串,而非字符型字符串。也就是说,BINARY和VARBINARY没有字符集的概念,对其排序和比较都是按照二进制值进行对比

转自:/sxingming/article/details/52628531

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。