资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

解决mysql表中的数据中文显示“?”-创新互联

问题复现

在这里插入图片描述

目前创新互联已为成百上千的企业提供了网站建设、域名、网站空间网站运营、企业网站设计、聊城网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。问题原因

这是因为你的变量值使用的字符集是Latin1

Latin1和utf8的区别

UTF-8为世界统治做好了准备,而Latin1则没有。

如果您尝试使用Latin1编码存储非拉丁字符,例如中文,日语,希伯来语,俄语等,则它们最终将以mojibake的形式出现。 您可能会发现本文的介绍性文字很有用(如果您有点Java的话,甚至还会更多)。

注意,完整的4字节UTF-8支持仅在MySQL 5.5中引入。 在该版本之前,每个字符最多增加3个字节,每个字符最多增加4个字节。 因此,它仅支持BMP平面,而不支持 表情符号飞机。 如果要完全支持4字节UTF-8,请将MySQL至少升级到5.5或使用其他RDBMS(如PostgreSQL)。 在MySQL 5.5+中,它称为utf8mb4。

在这里插入图片描述

解决方法 方法1 你可以把这三个变量的值改为utf8mb4
show variables like'character_set_%';  查看
把这三个的值设置为utf8mb4
set @@character_set_results = 'utf8mb4';
set @@character_set_connection = 'utf8mb4';
set @@character_set_client = 'utf8mb4';

在这里插入图片描述

在这里插入图片描述

方法二 归根结底这个是由于你的mysql容器字符集不是utf8所以你每次进入容器再登录mysql总是显示“?”

解决方法见博客
https://blog.csdn.net/m0_52973251/article/details/128413068?spm=1001.2014.3001.5501

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网页题目:解决mysql表中的数据中文显示“?”-创新互联
转载源于:http://cdkjz.cn/article/csseps.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220