mysql中文乱码解决方法

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: mysql中文乱码解决方法

问题:

  mysql中文乱码是个经常遇到的问题。

成因:

  成因是字符转换编码格式时,不能完全转成功就会乱码。utf-8的字符集比GBK更强大,能表示的内容更多。例如如果程序用的是utf-8编码,而数据库用的是gbk编码,在存入数据库时就会因为某些字符在utf-8中有对应的编码,而在gbk里没有对应的编码而出现乱码。(目前理解是这样,如果不对,欢迎拍砖~)

知识扩展:

  常用编码格式有UTF-8,GBK,GB2312等等。其中UTF-8兼容世界上所有字符。

  UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。

  GBK全称《汉字内码扩展规范》(GBK即“国标”、“扩展”汉语拼音的第一个字母,英文名称:Chinese Internal Code Specification)。

  GBK与UTF8的区别是什么呢?更多戳这里

  UTF8编码格式很强大,支持所有国家的语言,正是因为它的强大,才会导致它占用的空间大小要比GBK大,对于网站打开速度而言,也是有一定影响的。

  GBK编码格式,它的功能少,仅限于中文字符,当然它所占用的空间大小会随着它的功能而减少,打开网页的速度比较快。


解决方案:


1、检查数据库、数据表、数据字段的编码格式,是否为utf-8.不是的改成utf-8.

 (1)通过客户端检查就很简单了。

 

 

 

 (2)如何通过命令行修改,请戳这里

2、检查连接数据库的编码格式是否设为了UTF-8,在连接字符串后加上如下字符串"?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull"

1. jdbc.driver =com.mysql.jdbc.Driver
2. jdbc.url =jdbc:mysql://localhost:3306/shop?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
3. jdbc.user = root
4. jdbc.password =123456


3、未完待续,,,有了其他的解决方案,会继续增加。


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
关系型数据库 MySQL 数据库
MySQL忘记root密码、远程无法连接的解决方法
MySQL忘记root密码、远程无法连接的解决方法
|
1月前
|
关系型数据库 MySQL 数据安全/隐私保护
关于Navicat Premium连接MySQL出现2059错误解决方法
关于Navicat Premium连接MySQL出现2059错误解决方法
|
2月前
|
关系型数据库 MySQL Docker
MySQL 5.7 timestamp类型设置default value为'0000-00-00 00:00:00'报错的解决方法
MySQL 5.7 timestamp类型设置default value为'0000-00-00 00:00:00'报错的解决方法
|
1月前
|
缓存 关系型数据库 MySQL
MySQL登录时出现Access denied for user ‘root‘@‘localhost‘ (using password: YES)无法打开的解决方法
MySQL登录时出现Access denied for user ‘root‘@‘localhost‘ (using password: YES)无法打开的解决方法
|
5月前
|
关系型数据库 MySQL 数据库
连接MySQL时报错:Public Key Retrieval is not allowed的解决方法
连接MySQL时报错:Public Key Retrieval is not allowed的解决方法
167 1
|
3月前
|
关系型数据库 MySQL Java
windows下mybatis插入mysql数据中文乱码问题解决
windows下mybatis插入mysql数据中文乱码问题解决
|
4月前
|
关系型数据库 MySQL Linux
MySQL【部署 01】Linux root 用户部署 mysql-5.7.28 及 not allowed to connect to this MySQL server 和中文乱码问题处理
MySQL【部署 01】Linux root 用户部署 mysql-5.7.28 及 not allowed to connect to this MySQL server 和中文乱码问题处理
51 0
|
4月前
|
SQL 关系型数据库 MySQL
MySQL安装运行问题及解决方法
MySQL安装运行问题及解决方法
36 0
|
4月前
|
SQL 前端开发 关系型数据库
MySQL 锁表后快速解决方法
MySQL 锁表后快速解决方法
79 1
|
4月前
|
关系型数据库 MySQL 数据库
mysql创建用户角色后无法登陆_解决方法
mysql创建用户角色后无法登陆_解决方法
53 0