mysql出现乱码问题如何解决

mysql出现乱码问题如何解决,第1张

1、修改安装文件根目录下的myini文件:

搜索字段default-character-set,设置其值为utf8/gbk之一(注意设置utf8的时候不能设成utf-8)

再去重启MySQL服务器

如果还是出现乱码,接着执行下面 *** 作

2、修改数据库编码

在安装目录的data目录下找到你出现乱码的数据库对应的文件夹(这个文件夹即是你这个数据库存放数据的地方),

进入找到dbopt文件(即此数据库的编码配置文件),修改值为下面的

default-character-set=gbk

default-collation=gbk_chinese_ci

再去重启MySQL服务器

如果还是出现乱码,接着执行下面 *** 作

3、再不行,备份原数据库数据,直接drop掉这个数据库

重新创建数据库并设置编码

create database yourDB character set gbk;

别忘了重启MySQL服务器综上:如果还没有解决,我也没辙了。重装吧,重装的时候设置下编码三处的编码要一致

一、避免创建数据库及表出现中文乱码和查看编码方法

1、创建数据库的时候:CREATE DATABASE `test`

CHARACTER SET 'utf8'

COLLATE 'utf8_general_ci';

2、建表的时候 CREATE TABLE `database_user` (

`ID` varchar(40) NOT NULL default '',

`UserID` varchar(40) NOT NULL default '',

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

这3个设置好了,基本就不会出问题了,即建库和建表时都使用相同的编码格式。

但是如果你已经建了库和表可以通过以下方式进行查询。

1查看默认的编码格式:

mysql> show variables like "%char%";

+--------------------------+---------------+

| Variable_name | Value |

+--------------------------+---------------+

| character_set_client | gbk |

| character_set_connection | gbk |

| character_set_database | utf8 |

| character_set_filesystem | binary |

| character_set_results | gbk |

| character_set_server | utf8 |

| character_set_system | utf8 |

+--------------------------+-------------+

注:以前2个来确定,可以使用set names utf8,set names gbk设置默认的编码格式;

执行SET NAMES utf8的效果等同于同时设定如下:

SET character_set_client='utf8';

SET character_set_connection='utf8';

SET character_set_results='utf8';

2查看test数据库的编码格式:

mysql> show create database test;

+------------+------------------------------------------------------------------------------------------------+

| Database | Create Database |

+------------+------------------------------------------------------------------------------------------------+

| test | CREATE DATABASE `test` /!40100 DEFAULT CHARACTER SET gbk / |

+------------+------------------------------------------------------------------------------------------------+

段都有编码设置

出现乱码肯定是你现在用的编码混乱造成的

解决办法:

第一步

先改数据库编码

先修改你的数据库,如果你页面用的是utf-8编码那么你数据库内的编码也需要设置为utf-8,每个字段都需要设置要保持内外一致,你可以用navicat

for

mysql

如果SQL Server 系统排序规则为"SQL_Latin1_General_CP1_CI_AS",那么数据库及数据库字段排序规则都默认为"SQL_Latin1_General_CP1_CI_AS",如果字段为varchar,插入中文,数据库显示为"",且数据无法修复。解决办法如下:\x0d\1。 修改字段排序规则为"Chinese_PRC_CI_AS",varchar改nvarchar,SQL插入语句中,中文字符前加"N",可以插入中文字符。\x0d\2。 修改数据库排序规则为"Chinese_PRC_CI_AS",字段保持varchar,SQL语句不变,插入中文失败,查看字段属性后发现,字段排序规则实际上没有变化,还是默认为"SQL_Latin1_General_CP1_CI_AS",再修改字段排序规则,varchar不变,SQL不变,可以插入中文字符。\x0d\总结:\x0d\1。 修改系统排序规则没有试过。\x0d\2。 修改数据库排序规则不会把数据库中字段的排序规则改掉,但是为了显示中文,数据库排序规则必须改。\x0d\3。 仅仅修改字段排序规则,还不能完全解决问题。

以上就是关于mysql出现乱码问题如何解决全部的内容,包括:mysql出现乱码问题如何解决、mysql数据库中文乱码怎么解决、navicat数据库显示数据乱码怎么解决等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存