MySQL数据库乱码(中文变问号)问题解决
开发岗位信息发布 求职 资料免费获取 工具激活等,关注我们来围观~
乱码问题出现的情况有很多种,针对web开发这一流程来说,可以根据数据的流向来定位乱码出现的位置。前台发起一个请求,数据通过http协议到后被接收,这里数据会进行一次编码,在ssm环境下,是springMVC来拦截请求进行处理,所以在springMVC中能配置数据的编码格式,springMVC提供的是一个filter,在web.xml中配置。
<!-- 编码过滤器 --><filter><filter-name>springfilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param></filter><filter-mapping><filter-name>springfilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>
如果经springMVC拦截的中文参数没有出现乱码,则说明这里的编码没有出现问题,然后进一步去分析数据的流向。ssm的环境下是mybatis框架与数据库进行交互,mybatis本身对数据不会进行编码,但是在与数据库交互的时候会有编码的问题,比如在jdbc配置的时候,数据库连接这里有一个编码的参数需要配置。
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/user?useUnicode=true&characterEncoding=UTF-8
username=root
如果以上的配置都确定没有问题和,那么很大可能性就是数据库乱码了,在新建数据库的时候需要选择一个数据的编码方式。
这里如果也没有问题那就可能就我碰到的问题,数据库存的中文变成问号。在MySQL的安装目录(默认在C:\Program Files\MySQL\MySQL Server 5.x)修改my.ini可以解决。mysql中文显示乱码或者问号是因为选用的编码不对或者编码不一致造成的,我是通过修改my.ini配置文件解决了中文变问号的问题。5.7之后没有这个配置文件。
在[client]节点下添加 default-character-set=utf8
在[mysqld]节点下添加 (注:collation是排序方式)
character-set-server=utf8
collation-server=utf8_general_ci
修改完my.ini文件后,需要重启MySQL服务,在cmd中输入以下命令可以启动或关闭MySQL的服务,也可以在任务管理器--->服务 中手动关闭或开启。
关闭服务 net stop mysql
开启服务 net start mysql
最后可以登录MySQL看看配置是否成功。
输入 mysql -u root -p 进入mysql数据库,如果输入这个命令显示MySQL不是一个命令,需要把MySQL安装目录下的bin 这个路径配到环境变量中去,就可以使用这个命令登录MySQL。
输入密码:*****
show variables like 'char%'; 显示编码格式
如果都为utf8那就说明配置成功,再去看看乱码问题解决了没。
MySQL数据库乱码(中文变问号)问题解决相关推荐
- mysql数据库导出中文变乱码问题解决
问题:数据库中数据类型为varchar,导出后为str,中文部分变为乱码. 先要查询一下是哪种编码错误,查询网站: http://www.mytju.com/classcode/tools/messy ...
- 解决数据库插入中文变问号问题
修改my.ini 在[client]节点下添加 default-character-set=utf8 在[mysqld]节点下添加 (注:collation是排序方式) character-set-s ...
- asp.net oracle 问号,ASP.NET中文变问号问题解决方案
作者刚开始写ASP+程序时候碰到的***个比较大的问题就是中文显示问题,运行后发现ASP+从数据库中读取出来的中文全部变成了?????????????,有点类似jsp中的这个频率出现***的ASP.N ...
- 使用EF操作Mysql数据库中文变问号的解决方案
问题场景:使用Entity Framework 6.0 操作Mysql数据库,中文保存至数据库后全部变成问号.但是使用Mysql API却不会. 原因排查:首先想到的肯定是数据库编码问题,一次查询了表 ...
- hibernate插入Mysql数据库出现中文乱码情况从这5个方面解决
因为有了新电脑所以又要解决乱码问题,在网上找帖子很是头疼,还是自己总结一下比较好. hibernate插入Mysql数据库出现中文乱码情况从这几个方面解决:有了这几方面以后使用mysql的乱码问题就不 ...
- win7和mysql乱码,windows本地mysql数据库存入中文乱码
windows本地mysql数据库存入中文乱码 作者:PHPYuan 时间:2018-07-23 03:41:20 出现的问题: 我这页面存中文到数据库会乱码 我打了断点 中文是传到后台dao层的 然 ...
- Xshell连接mysql数据库乱码问题解决思路总结
Xshell连接mysql数据库乱码问题解决思路总结 参考文章: (1)Xshell连接mysql数据库乱码问题解决思路总结 (2)https://www.cnblogs.com/lxcy/p/924 ...
- mysql设置数据库显示汉字_在CMD中操作mysql数据库出现中文乱码解决方案
百度了一下..有说将cmd字符编码用chcp命令改为65001(utf8字符编码),可这样之后根本无法输入中文,查询出的中问结果依旧乱码 . 其实,只要保证cmd客户端和MySQL两者编码一致即可. ...
- 为什么vs数据库中文显示问号_数据库插入中文变成问号
今天做一个关于ssm的项目,数据库用的是MySQL,但是遇到一个比较奇葩的乱码问题,数据库里面存的中文取出来变成了问号,存进去的中文也变成了问号,但是手动添加到数据库中的中文取出来又是显示正常的.一路 ...
最新文章
- 顺F速运国际版,你的密码漏点了
- python tab键自动补全_Python Tab自动补全
- Windows下配置NodeJS环境详解
- Web拾遗--字符集的困扰?
- zabbix mysql 查询,Zabbix4.4配置MySQL监控;
- 2018 年度总结 —— 缘见
- 携程实时计算平台架构与实践丨DataPipeline
- HashTable和HashMap的区别详解(转)
- 《Redis开发与运维》学习第一章
- LYZ-Ice Skates
- bzoj 3894: 文理分科 最小割
- QT 屏幕旋转的两种方式
- 计算机考研和就业pk,考研PK就业:提高自身竞争力比文凭更重要
- 原西北大学校长郝克刚教授在中服PaaS云平台技术研讨会上的讲话
- 用Process启动和停止本地系统进程(打开关闭Excel,IE)
- TMS28027输出PWM波例程解析
- Big5 = GBK GBK = Big5 GB2312 = GBK GBK = GB2312 互转
- 天地图加载慢 快速打开天地图
- 多元线性回归与高斯误差模型的同源关系
- 燕山大学数据结构与算法课程实践——ISBN号识别系统的设计与开发