背景: 在做 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 的字符集.
? 1 使用命令修改数据库的字符集为 UTF-8.(由于小编使用命令设置后依旧不能插入, 不在此赘述)
? 2 修改 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, 正所谓自己动手, 丰衣足食.
来源: http://www.bubuko.com/infodetail-3035977.html