[问题]数据库MySQL和Navicat的乱码问题

计算机中存储字符需要使用编码集,早期有ASCII集,但是随着技术的发展,ASCII集不能满足需求,出现了越来越多的字符,比如中文字符等。后来又发展出了Unicode、GB2312、utf8等字符集。字符集多了以后,问题就出现了,如果运行环境和对应使用情况的字符集不形同就会出现乱码或者“?”,如下图所示。

 

为了让字符能够正确显示,首先我们需要调整MySQL的文件,在MySQL的安装文件夹下找到“my.ini”文件,将字符集设定为GB2312,如下图所示。

然后将数据和对应表的字符集设定为utf8。可以使用show create语句查看数据库和表的字符集,如下图所示。

如果字符集不是需要的字符集可以使用alter语句进行修改,比如将字符集改为gb2312:

注意1:修改了“my.ini”的内容后需要重启MySQL

注意2;修改了字符集以后只对后面输入的字符起作用,对之前输入的字符没有影响。所以修改字符集以后最好重新建立一个数据库再录入数据,这样可以保证所有输入的数据格式统一,不会出现一部分内容是乱码一部分内容又能正常显示的情况。

有时会出现cmd里面输入的字符在cmd里面能够正常显示,而在Navicat里面显示乱码,而在Navicat里面输入的字符在Navicat里面可以正常显示,在cmd里面显示乱码。这个问题我在讲“ my.ini "里面的字符集改为gb2312以后解决了,但是目前没弄清楚原因。

时间: 2024-08-26 06:02:09

[问题]数据库MySQL和Navicat的乱码问题的相关文章

EF 连接MySQL 数据库 ?保存中文数据后乱码问题

EF 连接MySQL 数据库  保存中文数据后乱码问题 采用Code First 生成的数据库,MySQL数据库中,生成的表的编码格式为***** 发现这个问题后,全部手动改成UTF8(图是另一个表的图),否则插入的数据,就会全部变成乱码 修改后可以正常插入数据(注意!!这里是直接用SQL 代码插入的数据) 之后用代码界面保存数据,如图 但数据中却变成乱码: 修改方法: 在连接MySQL的连接字符串中,加入配置文件信息:Character Set=utf8  来自为知笔记(Wiz)

mysql使用Navicat 导出和导入数据库

系统环境: Win7 x64软件准备:Navicat Premium_11.2.7简体中文版下载网址:http://www.cr173.com/soft/419023.html 现在我就向大家介绍 mysql 使用 Navicat 导出和导入数据. 1.导出数据库:    打开Navicat ,在我们要导出的数据库上右击鼠标,然后弹出的快捷菜单上点击"转储SQL 文件",在再次弹出的子菜单项中选择第一个"数据跟结构". 然后,在会弹出一个选择保存位置的保存框,选择好

Java处理数据库Mysql汉字显示乱码问题

问题:在unbuntu用eclipse编写程序的时候,发现存入数据库mysql的汉字都变成了??? 原因:eclipse和mysql的默认编码方式不一致 解决方法:把eclipse和mysql的编码方式都设置为utf8 1.设置mysql默认编码方式为utf8 修改mysql数据库的my.cnf文件,my.cnf文件路径为/etc/mysql/my.cnf 在[client]下面添加 default-character-set = utf8 在[mysqld]下面添加 character-set

MySQL 插入中文不乱码的5种方法

MySQL 插入中文不乱码的5种方法: 方法一: 登录MySQL,先做 set names latin1 ,然后在更新语句或者执行SQL语句 mysql> set names latin1; mysql> source  test.sql; 方法二: 在SQL文件中指定set names latin1;然后登录MySQL,执行相应文件    [[email protected] ~]# cat test.sql  set names latin1; insert ***************

修改数据库mysql字符编码为UTF8

Mysql数据库是一个开源的数据库,应用非常广泛.以下是修改mysql数据库的字符编码的操作过程. 步骤1:查看当前的字符编码方法 mysql> show variables like'character%'; +--------------------------+----------------------------+ |Variable_name |Value | +--------------------------+----------------------------+ |cha

jsp页面写入中文到mysql时出现了乱码(转)

今天自己在用jsp把中文写入mysql的时候出现乱码,从数据库中读取出来的时候也显示为“??”,感觉应该出现了编码转换过程中的字符信息丢失.然后在mysql中直接执行该命令,发现中文是正常的,所有认为是在往数据库中写中文的时候出现了问题. 在网上找了一会,发现不少解决方法,就转了一篇 过来,这个刚好能解决自己的问题.     在此表示感谢. 今天遇到了在jsp页面写入中文到mysql时出现了乱码,已经漫长的过程,问题终于解决了.         先说下自己的开发环境:jsp+Eclipse+my

趁一切还来得及【一】数据库MySQL基础知识及编译安装

此情更待成追忆,只是当时已惘然.                                        --[唐]李商隐 第一章 数据库概述及分类特点应用 1.1 数据库种类.语言处理.典型产品 ①数据库的理解:就是一个存放数据的仓库,这个仓库是按照一定的数据结构,来组织和存储的.可以通过数据库提供的多种方法来管理数据库. ②数据库的种类:按照早期的数据库理论分为层次数据库.网络式数据库.和关系型数据库.当今互联网最常用的就是关系型数据库和非关系型数据库(NOSQL). ③关系型数据库:

Eclipse查询MySql、添加中文乱码问题

一.设置MyEclipse的字符编码,步骤如下: 1.进入Window--Preferences--General--Workspace,Text file encoding 选项中默认的Default(GBK)选项更改为Other,并将值设为utf-8: 2.进入Window--Preferences--MyEclipse--Files and Editors,将这个选项下面的:ASP and PHP.CSS.DTD.HTML.JSP.XML中的字符编码全部更改为utf-8: 3.如果有必要的

数据库MySQL多个数据库服务冲突

一.目标名称 MySQL 二.目标版本 mysql-5.6.24-win32.1432006610.zip 三.环境信息 系统:windows 7 旗舰版 防火墙:关闭  —— 注意:如果防火墙不关闭或不允许列外的话,远程登陆将会失败. 四.问题严重性和复杂度 严重性:非常严重,直接导致数据库无法使用,与之相关的所有应用均受到影响. 复杂度:非常复杂,涉及到数据库的安装问题,由其他安装应用程序引入,问题比较隐晦不容易发现. 五.问题描述 (1) - 首先是依赖于该数据库的程序打开时,弹出错误对话