背景:在做 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. python实现简单的计算器功能

    如想实现一个计算器的功能,输入格式为字符串,不能运用python里面的内置方法,出去简单的加减乘除,设计一个相对高级的计算器: a = '1 - 2 * ( ( 6 0 -3 0 +(-40/5) * ...

  2. 2018-11-27 中文代码示例之Programming in Scala笔记第七八章

    续前文: 中文代码示例之Programming in Scala学习笔记第二三章 中文代码示例之Programming in Scala笔记第四五六章. 同样仅节选有意思的例程部分作演示之用. 源文档 ...

  3. 使用vmimeNET解析账单邮件

    大概所有做APP的公司都是不愿意做自定义的,哪怕自己的功能再烂也愿意慢慢修补不愿意开源一部分. 卡牛- 51信用卡- 一次次的逾期   自己写个信用卡管理工具,从邮件中提取账单,还款后做个登记,到了还 ...

  4. [IB]Integration Broker 是如何处理传入的请求(Part 2)

    让我们讨论一下集成代理如何处理传入的请求.可以先阅读(理解PeopleSoft集成代理 Part1). 当PeopleSoft集成代理接收传入请求时,会发生一系列事件. 当侦听连接器(Listenin ...

  5. Android为TV端助力 转载:内存泄露与内存溢出的区别

    内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory:比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出. ...

  6. Android开发学习之RecyclerView

    1.在app/build.gradle中添加RecyclerView依赖 implementation 'com.android.support:recyclerview-v7:28.0.0' 注意依 ...

  7. 有字库API方法使用一二

    有字库是全球第一中文web font(在线字体)服务平台,官网写的有点牛X 需要注册帐号才可以使用,免费字体有限制,一页字数不可以超过500 个,超过500个字体就不会为标签添加字体样式,比较坑爹! ...

  8. (一)Maven简介

    Maven这个词可以翻译为“知识的积累”,也可以翻译为“专家”或“内行”,是一个跨平台的项目管理工具.Maven主要服务于基于Java平台的项目构建.依赖管理和项目信息管理. 构建(build)是每一 ...

  9. Bean named '...' is expected to be of type [...] but was actually of type [com.sun.proxy.$Proxy7解决方法

    报错 三月 07, 2017 8:09:52 下午 org.springframework.context.support.ClassPathXmlApplicationContext prepare ...

  10. mssql sql语句过滤百分号的方法分享

    转自:http://www.maomao365.com/?p=6743 摘要: 下文讲述sql脚本中过滤百分号的方法: 实验环境:sql server 2008 R2  百分号:在sql脚本编写中“百 ...