开发者社区> luckyboys> 正文

Linux下MySQL出现乱码的解决方法

简介:   开发环境 cent os 6.5 mysql springboot duird 故障描述 本地开发环境没有任何问题,上传到服务器后发现提交的表单内容只要是中文直接变成 ??? 解决方式 错误尝试: 一开始怀疑是代码的问题,于是从百度上找了一些方法,但是很多都是无效的,比如配置 都没有解决问题,后来经过调试发现,java代码是没有问题的,直到插入数据库的最后一步,传递过来的数值还是中文,于是查看了mysql编码发现了问题。
+关注继续查看

 

 

开发环境

cent os 6.5

mysql

springboot

duird

故障描述

本地开发环境没有任何问题,上传到服务器后发现提交的表单内容只要是中文直接变成 ???

解决方式

错误尝试:

一开始怀疑是代码的问题,于是从百度上找了一些方法,但是很多都是无效的,比如配置

都没有解决问题,后来经过调试发现,java代码是没有问题的,直到插入数据库的最后一步,传递过来的数值还是中文,于是查看了mysql编码发现了问题。

正确的解决方式:

很多时间mysql安装时指定的编码都是默认编码(latin1),而我们开发一般都是用UTF8的编码,我们可以通过 show variables like 'character%'; 查看数据库编码

 

从网上看到可以通过执行

SET character_set_client = utf8; 
SET character_set_connection = utf8; 
SET character_set_database = utf8; 
SET character_set_results = utf8; 
SET character_set_server = utf8; 

结果在尝试执行上面查看编码的语句后发现确实所有编码已经变成了UTF8,但是程序提交后还是乱码,根本解决不了问题,其实这只是一种假象。此种方式只在当前状态下有效,当重启数据库服务后失效。

这里特别申明下这种方式,不要无故采坑

下面真正的干活就要来了,如果需要一劳永逸的解决mysql的乱码还是需要从my.cnf下手

首先找到my.cnf在服务器中的位置(/etc/my.cnf,每个人服务器可能目录不同,这里只是我的服务器路径),执行vim my.cnf

增加图中画红线的两部分代码即可

编辑完毕后 qw! 强制退出

 重启mysql服务 service mysql restart,出现 

然后再回到程序中执行form表单提交,发现中文乱码的问题就已经完美解决了

 

这里也正常了,好了 乱码的问题到此就已经完美解决了。

开开心心编码,快快乐乐生活。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
dedecms出现Error: Errno:0 SQL::错误解决方法
修改/include/common.inc.php下配置文件修改数据库地址,一切正常,但是输入帐号密码 出现Error:Errno:0SQL::的错误,后来才发现在该配置文件的下面有个uc的数据库, define('UC_CONNECT', 'mysql');define('UC_DBHOST',...
1064 0
怎么设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程
10089 0
mysql解决乱码问题
应用场景 在使用mysql数据库的过程中,发现数据导入后中文出现乱码,数据库中出现文字乱码等等,sql语句中查询中文无法查出结果,影响系统使用,以及数据无法正确查询。
726 0
MYSQL不能从远程连接的一个解决方法
如果你想连接你的mysql的时候发生这个错误: 以下是引用内容:ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server 解决方法:1。
484 0
Linux下MySQL出现乱码的解决方法
  开发环境 cent os 6.5 mysql springboot duird 故障描述 本地开发环境没有任何问题,上传到服务器后发现提交的表单内容只要是中文直接变成 ??? 解决方式 错误尝试: 一开始怀疑是代码的问题,于是从百度上找了一些方法,但是很多都是无效的,比如配置 都没有解决问题,后来经过调试发现,java代码是没有问题的,直到插入数据库的最后一步,传递过来的数值还是中文,于是查看了mysql编码发现了问题。
1052 0
sql点滴40—mysql乱码问题总结
原文:sql点滴40—mysql乱码问题总结 本文将为大家讲解如何处理Java连接过程中的MySQL中文乱码问题。一般MySQL中文乱码问题都是与字符集有关,这里作者的经历也大致差不多。 MySQL默认编码是latin1 1.
1296 0
Mac mysql 解决中文乱码
Mac mysql 解决中文乱码问题 出现“???”之类的无法识别的乱码 到/etc目录下自己建一个my.cnf文件(需要最高权限,使用sudo su),然后写入内容: [client] default-character-set=utf8 [mysqld] character-set-server=utf8 保存,修改。
1025 0
+关注
luckyboys
开开心心编码,快快乐乐生活。
39
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载