navicat for mysql数据库编码设置成utf-8后还是乱码是怎么回事

navicat for mysql数据库编码设置成utf-8后还是乱码是怎么回事,第1张

mysql 创建数据库时指定编码很重要,很多开发者都使用了默认编码,乱码问题可是防不胜防。制定数据库的编码可以很大程度上避免倒入导出带来的乱码问题。

网页数据一般采用UTF8编码,而数据库默认为latin 。我们可以通过修改数据库默认编码方式为UTF8来减少数据库创建时的设置,也能最大限度的避免因粗心造成的乱码问题。

我们遵循的标准是,数据库,表,字段和页面或文本的编码要统一起来

我们可以通过命令查看数据库当前编码: mysql>SHOW VARIABLES LIKE 'character%'

发现很多对应的都是 latin1,我们的目标就是在下次使用此命令时latin1能被UTF8取代。

Navicat for MySQL它为专业开发者提供了一套强大的足够尖端的工具,但对于新用户仍然易于学习。Navicat for MySQL 基于Windows平台,为 MySQL 量身订作,提供类似于 MySQL 的用管理界面工具。此解决方案的出现,将解放 PHP、J2EE 等程序员以及数据库设计者、管理者的大脑,降低开发成本,为用户带来更高的开发效率。

这种情我遇到过,以前也是这样的;后台数据库的编码为GB2312,但前台显示和后台显都采用了UTF8,所以你在后台看到数据是乱码,但通过你的程序显示是正常的。

解决方案,

1.把你的表内容,写只程序导出为TXT文字,

2.住还是UTF导出后保存在文本格式,

3.注意分隔符等,

4.接下来新建一个数据库为UTF8的编码,

5.用Navicat Premium软件导进数据进数据库,保持表名,字段结构等都不变。

6.接正就直接连接新的数据库显示就为正常的UTF8数据了,直接用软件打开也不会出现乱码,

虽然方法有点复杂,但这是解闪的根本方法!其实第二种:利用PHP的转码直接转码,这种方法危险性较高也不全面,请谨慎考虑!

展开快讯

登录

首页

专栏

问答

沙龙

快讯

团队主页

开发者手册

智能钛AI

在线学习中心

TVP

返回腾讯云官网

彻底解决MySQL中文乱码

mysql是我们项目中非常常用的数据型数据库。但是因为我们需要在数据库保存中文字符,所以经常遇到数据库乱码情况。下面就来介绍一下如何彻底解决数据库中文乱码情况。

1、中文乱码

1.1、中文乱码

无法插入中文字符:

1.2、查看表字符编码

我们可以看到表的默认字符集是latin1.

所以我们在创建表的时候就需要指定表的字符集:

这样在Linux里面可以访问并且可以插入与访问这个表了。

1.3、数据库与 *** 作系统编码

虽然在服务器端可以显示中文正常,但是在客户端可能会显示乱码。因为我们的服务器是UTF8。

而且数据库的编码也存在问题。

这里我们可以看character_sert_database与character_set_server的字符集都是latin1.那么在mysql数据库中,server,database,table的字符集都默认是latin1.下面我们就来看看如何解决mysql乱码情况。

2、mysql设置变量的范围

2.1、session范围

查看数据库编码:

修改字符编码:

我们可以看到字符集已经修改成都是utf8了。但是这里有一个问题,那就是我们重新打开一个命令窗口然后查看数据编码就会出现下面的画面:


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9872826.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存