您现在的位置是:网站首页> 编程资料编程资料
MYSQL中文乱码问题的解决方案_Mysql_
2023-05-26
338人已围观
简介 MYSQL中文乱码问题的解决方案_Mysql_
一、乱码的原因:
1、 client客户端的编码不是utf8
2、server端的编码不是utf8
3、database数据库的编码不是utf8
4、数据库的表的编码不是utf8
5、表中的列字段编码不是utf8
主要的原因在于前三个偏多。
二、查看数据库的编码方式
mysql>show variables like ‘character%';

此截图是解决之后的,查看哪个不是和上面一样。
三、解决的办法有俩种:
1、对/etc/mysql/my.cnf 配置文件进行修改
[mysqld] character-set-server=utf8 [client] default-character-set=utf8 [mysql] default-character-set=utf8
2、由mysql -uroot -p命令进入mysql,输入以下设置
SET character_set_client = utf8; SET character_set_results = utf8; SET character_set_connection = utf8;
针对在客户端输入:数据库、表、列字段设置
alter database <数据库名> character set utf8;
alter table <表名> character set utf8;
alter table <表名> modify <字段名> character set utf8;
注意:设置之后记得重启,输入命令:service mysql restart
四、本人在项目遇到乱码问题是以下方法解决的
出现问题的形式:项目的服务器向数据库插入数据时,表中的数据中文为乱码。
解决方法:对封装的数据库操作类中,建立连接数据库时,设置字符集utf8
//建立连接后, 自动调用设置字符集语句,_dbConf._charset = utf8 if(!_dbConf._charset.empty()) { if (mysql_options(_pstMql, MYSQL_SET_CHARSET_NAME, _dbConf._charset.c_str())) { throw MysqlHelper_Exception(string("MysqlHelper::connect: mysql_options MYSQL_SET_CHARSET_NAME ") + _dbConf._charset + ":" + string(mysql_error(_pstMql))); } } 完美解决向数据库插入数据时中文乱码问题。
总结
到此这篇关于MYSQL中文乱码问题解决的文章就介绍到这了,更多相关MYSQL中文乱码内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
您可能感兴趣的文章:
相关内容
- MySQL运行报错:“Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre”解决方法_Mysql_
- MySql如何将查询的出来的字段进行转换_Mysql_
- MySQL安装失败的原因及解决步骤_Mysql_
- MySQL范围查询优化的场景实例详解_Mysql_
- CentOS7环境下MySQL8常用命令小结_Mysql_
- MySQL数据库如何查看表占用空间大小_Mysql_
- CentOS7安装MySQL8的超级详细教程(无坑!)_Mysql_
- MySQL如何修改字段类型和字段长度_Mysql_
- mysql数据库实现设置字段长度_Mysql_
- MySQL优化教程之慢查询日志实践_Mysql_
