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

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

  • 相关阅读:
    客户端用java api 远程操作HDFS以及远程提交MR任务(源码和异常处理)
    HighCharts终极版本
    Highcharts网页版
    情感化设计中的手绘应用表现
    前端批量下载文件
    PHP 大文件下载,文件传输,支持断点续传。 2g以上超大文件也有效
    PHP超大文件下载,断点续传下载
    php下载大文件,支持断点续传案例
    解决PHP超大文件下载,断点续传下载的方法详解
    PHP如何异步断点续传大文件
  • 原文地址:https://www.cnblogs.com/blueskyli/p/9673677.html
Copyright © 2020-2023  润新知