MySQL数据库中的中文乱码如何解决?

数据库 MySQL
此文章主要介绍的是MySQL数据库中文乱码的实际解决方案,以及对出现中文乱码的原因的分析,以下就是文章的具体内容描述。

以下的文章主要介绍的是MySQL数据库中文乱码的实际解决方案,可以说是较为实用的。我们大家都知道在使用MySQL数据库时,我们对其插入一些中文字符的实际操作过程中经常会出现乱码,中文全被用?代替。

出现这种情况的原因,多是字符集不匹配造成的。

在MySQL中,如果使用缺省的字符集,在建库、建表时,默认使用的是latin1字符集,为ISO 8859-1西欧字符集。

插入中文字符时,与之不匹配,就会出现乱码。

本人使用的是MySQL 5.0版,并用C#操作MYSQL数据库,当插入中文字符时,发现显示的是乱码。

初步估计是字符集没有配对。查找后,发现MSYQL默认使用的是latin1,因此将数据库的配置文件中的字符设置改为utf8,并在C#中将中文字符,转为utf8,插入后,仍为乱码。

MySQL也支持gb2312,又将MySQL的字符设置改为gb2312,C#中使用Default,重起MySQL后,操作仍然无效。

后想起,虽然将MySQL的字符集设置为gb2312或utf8,但已经建立的数据库和表,仍采用的是默认的字符集,也即仍为当初的西欧字符集,最好,只得忍痛将数据库删除,重新以gb2312字符集建立数据库和表。

再用C#插入中文字符后,一切OK。

再安装好MySQL数据库后,可以手工或使用配置工具,将my.ini文件中的默认字符集改为gb2312,再重新建库和表时,不用再在语句中指定字符集,其默认设置也即为gb2312,可以正常显示中文字符集。

1.建立数据库是一般的语句:

  1. create database dbname; 

2.在库中建表时语句为:

  1. create table tbname(..........)engine=MyISAM character set gbk collate gbk_chinese_ci; 

3.程序中连接数据库的Connection对象需要写成

  1. Connection con = DriverManaager.getConnection("jdbc:mysql:
    //
    ...user=..&password=...&useUnicode=true&characterEncoding=gbk"); 

4.若在终端下用mysql命令向数据库插入数据,则在进入mysql数据库时的命令写成:#mysql --default-character-set=gbk -u ... -p

5.在jsp页面的编码设置为utf-8.

我找到一个方法好像可以解决这个问题了

在安装mysql server的时候,无论是选择gb2312还是utf-8,都没有关系,这些字符集在phpMyAdmin中都可以很好的工作,主要是自己的脚本要正确的显示中文,可以在php脚本中,连接数据库之后,正式的数据查询提交之前执行下面的语句:

$SetCharacterSetSql = "SET NAMES '自己使用的字符集'";

 

  1. $Recordset1 = mysql_query($SetCharacterSetSql, $conn_Resource) or die(mysql_error()); 

然后再执行自己的查询语句,得到的结果就是正确的了。刚刚试了gb2312和utf-8,都没有问题。

以上的相关内容就是对整理一些MySQL数据库中文乱码解决方案的介绍,望你能有所收获。

【编辑推荐】

  1. MySQL常用技巧大汇总
  2. MySQL 备份和其恢复机制原理简述
  3. 远程连接MySQL速度慢的解决
  4. mssql数据导入MySQL数据库实操
  5. MySQL字符串值的实际应用
责任编辑:佚名 来源: 互联网
相关推荐

2010-03-11 16:33:07

Python连接数据库

2011-08-08 10:29:12

MySQL

2017-08-02 15:51:24

PHP中文乱码

2009-07-06 17:50:13

Java JSP

2015-04-01 10:26:32

开发中文乱码问题

2017-05-26 09:23:47

MySQL数据库中文

2011-05-23 09:51:30

MySQL

2010-10-08 11:41:38

PHP连接MYSQL

2021-10-20 20:27:55

MySQL死锁并发

2009-10-27 16:36:07

Oracle如何解锁

2010-05-20 10:00:58

MySQL 中文乱码

2010-05-14 17:27:40

MySQL中文乱码

2011-06-17 13:36:50

MySQL

2011-07-28 14:49:40

2009-07-02 13:32:56

JSP中文乱码

2018-07-03 15:30:10

数据库云数据库管理备份

2009-06-30 15:22:55

JSP页面

2020-01-07 09:40:25

数据库MySQLRedis

2010-05-19 15:59:30

MySQL 中文乱码

2011-03-28 13:11:18

MySQL数据库安全
点赞
收藏

51CTO技术栈公众号