MYSQL中文乱码问题的解决方案

 更新时间:2022年06月13日 15:46:00   作者:牵着我的猪去看海  
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-MMM安装指南(Multi-Master Replication Manager for MySQL)

    MySQL-MMM安装指南(Multi-Master Replication Manager for MySQL)

    这篇文章主要介绍了mysql Multi-Master Replication Manager for MySQL的安装方法,需要的朋友可以参考下
    2014-02-02
  • MySQL学习之数据更新操作详解

    MySQL学习之数据更新操作详解

    这篇文章我们将学习一下用于数据更改的 “UPDATE” 语句, “UPDATE” 语句也是属于 DML 这一类数据库操作语言,感兴趣的可以了解一下
    2022-08-08
  • mysql 常见命令和学习心得

    mysql 常见命令和学习心得

    mysql 常见命令和学习心得,学习php的朋友需要了解的一些基础,方便日后的开发。
    2009-09-09
  • MySQL五步走JDBC编程全解读

    MySQL五步走JDBC编程全解读

    JDBC是指Java数据库连接,是一种标准Java应用编程接口( JAVA API),用来连接 Java 编程语言和广泛的数据库。从根本上来说,JDBC 是一种规范,它提供了一套完整的接口,允许便携式访问到底层数据库,本篇文章我们来了解MySQL连接JDBC的五步走流程方法
    2022-01-01
  • MySQL 查询树结构方式

    MySQL 查询树结构方式

    今天小编就为大家分享一篇MySQL 查询树结构方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • MySQL迁移到Oracle数据库的超详细步骤和方法总结

    MySQL迁移到Oracle数据库的超详细步骤和方法总结

    今天接到一个任务,让我把MySQL中的表与数据移植到Oracle中,所以这里总结下,这篇文章主要给大家介绍了关于MySQL迁移到Oracle数据库的超详细步骤和方法,需要的朋友可以参考下
    2023-11-11
  • MySQL8.4设置密码规则为mysql_native_password问题

    MySQL8.4设置密码规则为mysql_native_password问题

    这篇文章主要介绍了MySQL8.4设置密码规则为mysql_native_password问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • 关于for update和lock in share mode的区别及说明

    关于for update和lock in share mode的区别及说明

    这篇文章主要介绍了关于for update和lock in share mode的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Mysql分区表的管理与维护

    Mysql分区表的管理与维护

    改变一个表的分区方案只需使用alter table 加 partition_options 子句就可以了。这篇文章主要介绍了Mysql分区表的管理与维护,非常不错,感兴趣的朋友一起学习吧,需要的朋友可以参考下
    2016-08-08
  • MySQL请求处理全流程之如何从SQL语句到数据返回

    MySQL请求处理全流程之如何从SQL语句到数据返回

    这篇文章主要介绍了MySQL请求处理全流程之如何从SQL语句到数据返回,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2025-03-03

最新评论