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

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

  • 相关阅读:
    Jisa's Notebook
    前端常见跨域解决方案
    串口
    logging的使用
    Hexo
    优美的二维树状数组
    数据结构之树的基本概念
    js 监听ios手机键盘弹起和收起的事件
    jquery.qrcode.js生成二维码(前端生成二维码)
    js产生一个随机的字符串数字组合
  • 原文地址:https://www.cnblogs.com/blueskyli/p/9673677.html
Copyright © 2011-2022 走看看