背景:在做 javaweb 项目的时,前台传递的中文最后插入数据库的时候总是出现乱码现象。

解决方案

​ A、不管是使用 Idea、eclipse,确定自己的项目所使用的字符集是 UTF-8

​ B、查看 MySQL的字符集是否是 UTF-8。打开 Dos 窗口,输入:mysql -u root -p, 在输入密码即可进入数据库。进入数据库输入命令 :show variables like 'character%';查看数据库的字符集,如下图:

MySQL 的默认编码是 Latin1,不支持中文,要支持中文需要把数据库的默认编码修改为 UTF-8

​ C、修改 MySQL 的字符集。

​ ① 使用命令修改数据库的字符集为 UTF-8。(由于小编使用命令设置后依旧不能插入,不在此赘述)

​ ② 修改 MySQL 的配置文件。(修改后,成功插入中文,在此介绍这种方法)

D、本人安装的 `MySQL`  版本是 5.7.25,安装好 `MySQL`  后就要对字符集进行修改了,网上的大部分说法是去	安装目录找一个 `my-default.ini` 文件,然后重命名为 `my.ini`,再对其进修改字符集即可,但是 在`MySQL`  的安装目录下居然没有这个文件。

​ 其实 MySQL 的 5.7.25 的 my.ini文件不在安装目录下,如果是默认安装 MySQL 的,那么它的 my.ini 文 件在隐藏文件夹 C:\ProgramData\MySQL\MySQL Server 5.7 下。

​ 你需要做的就是显示隐藏的的项目,找到这个文件修改即可(修改前,请先做备份)。

​ 对该 my.ini 文件下进行配置修改 :

[client]

default-character-set = utf8

[mysql]

default-character-set = utf8

[mysqld]

character-set-client-handshake = FALSE

character-set-server = utf8

collation-server = utf8_unicode_ci

init_connect=’SET NAMES utf8’

​ E、修改 my.ini 文件后,保存,再重启 MySQL 服务。

​   计算机——右键——管理——服务,找到 MySQL57,对其右键停止,再启动即可

​ F、重启成功后,进入 MySQL 数据库,输入show variables like 'character%'; 显示数据库字符集已修改成功。

重要提示:

对于中文乱码问题,小编只是列举了一种可能性,以及解决方案。当然最重要的是肯定还有很多原因导致中文乱码,都会有相应的解决方案。作为程序猿,应当懂得 google,正所谓自己动手,丰衣足食。

web 项目:解决插入 MySQL 数据库时中文乱码问题的更多相关文章

  1. web项目存数据到数据库,中文乱码,解决过程

    first: 排查原因: 打断点,查看到底是在执行存数据库操作之前就已经乱码了,还是存数据库操作后乱码的. 前者解决方案: 在web.xml里面加上: <filter> <filte ...

  2. 关于php读mysql数据库时出现乱码的解决方法

    关于php读mysql数据库时出现乱码的解决方法 php读mysql时,有以下几个地方涉及到了字符集. 1.建立数据库表时指定数据库表的字符集.例如 create table tablename ( ...

  3. php使用mysql数据库时中文不显示或显示异常解决方法

    如果出现标题所述问题,需从四个层面解决问题 1 项目文件是否为utf8编码 右键项目文件->properties->Resource->Text file encoding-> ...

  4. Windows使用MySQL数据库管理系统中文乱码问题

    声明:本文关于MySQL中文乱码问题的解决方案均基于Windows 10操作系统,如果是Linux系统会有较多不适用之处,请谨慎参考. 一.MySQL中文乱码情况 1. sqlDevelper远程登陆 ...

  5. mysql数据库的中文乱码问题的解决

    今天终于解决了数据库中文乱码的问题,分享出来让更多的人作为参考,我们进入主题: 如果在搭建mysql数据库的时候没有设置它的编码格式,在以后的开发中,中文乱码会是一个令人头疼的问题,所以我在这里分享一 ...

  6. new Date插入mysql数据库时多了一秒

    在使用new Date() 插入数据库时,查询出来比实际多了一秒,mysql 表字段设置为datetime类型,当时间精确到秒时,如果毫秒大于500时,会自动进位. 解决方法为格式化后再插入数据库.

  7. 在web项目下注册MySQL数据库驱动失败

    java.lang.ClassNotFoundException: com.mysql.jdbc.Driver at org.apache.catalina.loader.WebappClassLoa ...

  8. 在.net core web 项目中操作MySql数据库(非ORM框架,原生sql语句方式)

    本案例通过MySql.Data和Dapper包执行原生sql,实现对数据库的操作. 操作步骤: 第1步:在MySql数据库中新建表User(使用Navicat For MySql工具) 建表语句: c ...

  9. 在DOS中操作MySQL数据库出现中文乱码

    1. 问题:最近使用到MySQL数据库操作,在DOS下使用命令行向mysql中插入/读取中文时出现乱码问题. 2. 原因:由于CMD客户端默认编码为GBK,而本人在安装MySQL时设置编码为UTF-8 ...

随机推荐

  1. cf438E. The Child and Binary Tree(生成函数 多项式开根 多项式求逆)

    题意 链接 Sol 生成函数博大精深Orz 我们设\(f(i)\)表示权值为\(i\)的二叉树数量,转移的时候可以枚举一下根节点 \(f(n) = \sum_{w \in C_1 \dots C_n} ...

  2. Activiti实现流程自由跳转

    import org.activiti.engine.ProcessEngine; import org.activiti.engine.TaskService; import org.activit ...

  3. Java 线程方法

    线程标识相关 方法 描述 public Thread(Runnable target, String name)  带参数的构造方法, 第二个参数是线程名称 public static Thread ...

  4. php 接口与前端数据交互实现

    最近在做前后端数据交互的尝试,也跳了很多坑,使用的是php+bootstrap-table+js,把一些收获记录在这里,方便查询. 这个小项目,仅有3个文件,分别为: crud.html data.p ...

  5. MySQL 基本语句(1)

    一.cmd命令行的常用命令: 当我们使用MySQL 5.5 Command Line Client这个客户端登陆时,只能登陆root用户.如果今后创建了别的用户,就很麻烦了,所以我们不用MySQL 5 ...

  6. javascript实现的浏览器下载文件

    function download(src) { var $a = document.createElement('a'); $a.setAttribute("href", src ...

  7. 方法调用 Controller的Action 参数

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  8. LINQ的求和 平均 最大 最小 分组 计数 等等

    1.简单形式: var q = from p in db.Products group p by p.CategoryID into g select g; 语句描述:使用Group By按Categ ...

  9. 第二章 基础查询 2-1 SQL语句基础

    一.列的查询 基本的SELECT语句: SELECT <列名 >,...... FROM < 表名>; 注:子句是SQL的组成要素. 注:查询结果中的列的顺序和SELECT子句 ...

  10. Linux命令一

    软件包管理命令: sudo apt-cache search package    #搜索包 sudo apt-cache show package     #获取包的相关信息,如说明.大小.版本 s ...