Linux下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表单提交,发现中文乱码的问题就已经完美解决了

这里也正常了,好了 乱码的问题到此就已经完美解决了。
Linux下MySQL出现乱码的解决方法的更多相关文章
- mac下MySQL出现乱码的解决方法
之前写过一篇Linux下MySQL出现乱码的解决方法,本文说下mac下的处理,其实处理方式是一样的,我电脑的mysql版本是5.7.26-log 网上很多帖子都说去/usr/local/mysql/s ...
- linux下mysql忘记root密码解决方法
如果使用 MySQL 数据库忘记了root账号密码,可以通过调节配置文件,跳过密码的方式登数据库, 在数据库里面修改账号密码,一般默认的账号是 root 1.编辑 MySQL 配置文件 my.cnf ...
- Linux 下mysql忘记root密码解决方法
忘记root密码怎么办:1.关闭数据库2.使用-->mysqld_safe --skip-grant-tables &--<启动数据库3.使用空密码进入数据库(mysql命令后直接 ...
- Windows下mysql忘记密码的解决方法
Windows下mysql忘记密码的解决方法 mysql5.0 http://www.jb51.net/article/21984.htm方法一: 1.在DOS窗口下输入 net stop mysql ...
- PHP+MYSQL 出现乱码的解决方法
PHP+MYSQL 出现乱码的解决方法 使用PHP+MYSQL时遇到过字符乱问题,解决方法: 在mysql_connect后面加一句SET NAMES UTF8,即可使得UTF8的数据库消除乱码,对于 ...
- CMD下查询Mysql中文乱码的解决方法
我的MySQL是默认utf8编码的,所建数据库也是设置utf8编码,使用程序可以新增中文数据,在cmd中使用SQL语句新增数据则报类似Incorrect string value: '\xB2\xE2 ...
- Linux 下mysql修改数据库存放目录方法和可能遇到的问题
MySQL版本:5.6.23-enterprise-commercial-advanced ,使用rpm安装linux:Red Hat Enterprise Linux Server release ...
- mysql中文乱码的解决方法
MySQL的字符集支持(Character Set Support)有两个方面: 字符集(Character set)和排序方式(Collation).对于字符集的支持细化到四个层次: 服务器(ser ...
- mysql字符编码的设置以及mysql中文乱码的解决方法
查看字符编码 首先,将中文插入到数据库乱码是因为没有将数据库编码设置为支持中文的编码,mysql的默认编码是Latin1,不支持中文,应该设置为utf8查看自己的数据库编码是否已设置好,进入数据库,输 ...
随机推荐
- 使用ffmpeg+crtmpserver搭建文件的伪直播
Tutorial: How to "live stream" a media file 如何"直播"一个媒体文件 I have tried a while to ...
- java学习(五)java类继承
1.制作一个工具类的文档 javadoc -d 目录 -author -version arrayTool.java 实例: class arrayDemo { public static voi ...
- [LeetCode 题解]: Pascal's Triangle
Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5,Retur ...
- Replication--使用备份初始化订阅--请求订阅
1. 修改发布属性"许从备份文件初始化"置为TRUE 脚本修改:USE [DB01]GODECLARE @publication AS sysnameSET @publicatio ...
- CS0012 类型“DbContext”在未引用的程序集中定义。必须添加对程序集“EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”的引用。 Repository E:\项目\wx\Repository\DbContextFac
严重性 代码 说明 项目 文件 行 禁止显示状态错误 CS0012 类型“DbContext”在未引用的程序集中定义.必须添加对程序集“EntityFramework, Version=6.0.0.0 ...
- C# try catch finally
抛出异常开销非常大(相对而言),所以不要过多的在程序中使用它们 既然finally一定是要执行的,即使try块中有return
- 数据库_mysql多表操作
多表操作 实际开发中,一个项目通常需要很多张表才能完成.例如:一个商城项目就需要分类表(category).商品表(products).订单表(orders)等多张表.且这些表的数据之间 ...
- NOIP simulation
NOIP 模拟赛Day 1题目名称LGTB 玩扫雷LGTB 学分块LGTB 打THD英文代号mine divide thd时限1 秒1 秒1 秒输入文件mine.in divide.in thd.in ...
- 从零开始用 Flask 搭建一个网站(四)
前言 从零开始用 Flask 搭建一个网站(三) 介绍了网页前端与后端.前端与前端之间数据的交流.本节主要介绍一下如何应用 Flask-OAuthlib, 使用 Flask-OAuthlib 就可以轻 ...
- sap server笔记
system 就是sap hana database,如果一个system有多个instance,则必须分散到不同的host中,每个system有唯一的sid. hello各位,jackie建议我们去 ...