专栏首页OECOM解决wampServer 中MySQL插入中文乱码问题

解决wampServer 中MySQL插入中文乱码问题

大家在使用wampserver中的mysql数据库时,插入中文会显示“??”,很多小伙伴都不知道给如何做,明明在创建数据库和表时已经设置字符为UTF-8了,可插入结果还是乱码。下面我来告诉大家一下原因。

原因在于wampserver的配置问题,需要我们手动修改一下它的配置。

首先启动wampserver,用鼠标指向MySQL,在它的栏目里会发现有一项为my.ini,点击打开它。在[client]段落增加:default-character-set=utf8 ;在[mysqld]段落增加:character_set_server=utf8 。重启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.建立数据库是一般的语句:

create database dbname;

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

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

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

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 '自己使用的字符集'";

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • mysql数据库基本概念

    数据库指的是以一定方式储存在一起、能为多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。简单来说可视为电子化的文件柜——存储电子文件的处所,用户...

    无邪Z
  • 通过jQuery合并相同table单元格

    一个列表中有很多公共信息重复出现,看上去比较繁琐。在不不改动后台数据结构的情况下,改下一下前端代码把table 中的重复项合并单元格。

    无邪Z
  • css3实现元素圆周运动

    在网页的编写中,好多特效都是通过js来实现,但是还有很多通过css3实现的特效,并且这种方法实现的特效不需要引入外部文件,只需要短短几行代码即可实现,下面这段代...

    无邪Z
  • linux mysql 安装

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    云雀叫了一整天
  • IntelliJ IDEA的数据库管理工具实在太方便了

    胖哥是一个有软件洁癖的人,能用现有的软件解决问题的绝不安装新的软件。Java后端开发主要跟数据库打交道,所以数据库图形化界面(GUI)是少不了的。通常图形化操作...

    码农小胖哥
  • 官方首次披露,TDSQL十年自主可控之路(附PDF)

    ? 3月12日,在北京,腾讯云发布了全新升级的金融业务支撑平台,平台集中整合腾讯云在云计算架构、分布式数据库、大数据以及人工智能等方面的优势技术能力,着力解决...

    腾讯技术工程官方号
  • MySQL数据库学习·数据库的创建,修改,删除

    这里要注意字符集应和校对规则名称相对应,不可一边UTF8 一边GBK, 如若没有指定字符集和校对规则名字,则会按照默认MySQL默认方式(MySQL目录 my....

    花狗Fdog
  • 官方首次披露,TDSQL十年自主可控之路(附PDF)

    3月12日,在北京,腾讯云发布了全新升级的金融业务支撑平台,平台集中整合腾讯云在云计算架构、分布式数据库、大数据以及人工智能等方面的优势技术能力,着力解决金融机...

    腾讯技术工程官方号
  • 官方首次披露 TDSQL 十年自主可控之路

    3月12日,在北京,腾讯云发布了全新升级的金融业务支撑平台,平台集中整合腾讯云在云计算架构、分布式数据库、大数据以及人工智能等方面的优势技术能力,着力解决金融机...

    腾讯云数据库 TencentDB
  • 推荐3款好用的Redis、MySQL和MongoDB可视化管理工具

    学习编程时,总会遇到各种各样的数据库,比如Redis、MySQL或MongoDB。这些数据库都有一个共同特点:全是基于命令行操作,没有可视化管理界面。

    爱吃西瓜的番茄酱

扫码关注云+社区

领取腾讯云代金券