mysql数据库的字符集_mysql数据库中字符集乱码问题原因及解决

前言

有的时候我们在查看数据库数据时,会看到乱码。实际上,无论何种数据库只要出现乱码问题,这大多是由于数据库字符集设定的问题。

下面我们就介绍一下,数据库的字符集的设定及乱码问题的解决。

mysql数据库的字符集

直白的说,字符就像是单个的文字,编码就像是给每个文字的编号,字符集就像是字符与编码的集合,校验规则就是字符集的对应的排序规则,字符集加上对应的校验规则就是语言。(每种字符集可以有多种校对规则,但都有一个默认的校对规则)

mysql数据库可以通过设定字符集,来使用对应的字符集和检验规则来组织字符。就像是解读一片文章的时候用那种语言来解析。例如:中国人常使用的utf8编码,代表的是中文。

mysql可以支持多种字符集。在同一个数据库的不同表,同一个表中的不同字段,都可以指定使用不同的字符集。

mysql的字符集规则

mysql可以设定的字符集:

服务器的字符集

数据库的字符集

表的字符集字

段的字符集

如果在某一个级别没有设置字符集,则它会继承其上一级的字符集。

mysql数据库乱码问题解决方法(即修改字符集方法)

【1】查看mysql支持的字符集

show character set;

aa9136206c5920f2eee1d6990fb053b1.png

【2】查看数据库编码

show variables like 'character_set%';

c93a2958913f177b1671d165c599a4ac.png

【3】查看当前mysql使用的字符集

show variables like 'character%';

f3efbb92664be28f31f55e5b9a671750.png

解析:

character_set_client:客户端请求数据的字符集

character_set_connection:客户机与服务器连接的字符集

character_set_database:默认数据库的字符集;如果没有默认数据库,就会使用 character_set_server指定的字符集(建议不要随意更改)

character_set_filesystem:把 character_set_client转换character_set_filesystem (默认为binary, 不做任何转换)

character_set_results:返回给客户端的字符集

character_set_server:数据库服务器的默认字符集

character_set_system:系统字符集,默认utf8。(用于数据库的表、列和存储在目录表中函数的名字)

character_sets_dir:mysql字符集文件的保存路径

产生乱码的原因

character_set_client与实际不符合

character_set_results与客户端页面不符合

【4】查看当前数据库的校对规则

show variables like 'collation%';

d60f45fe47082fe41e1b57c6ad397493.png

解析:

value的命名规则: 字符集名字+语言+后缀

collation_connection :当前连接的字符集

collation_database :当前日期的默认校对

collation_server :服务器的默认校对

后缀的含义:

ci:不区分大小写

cs:区分大小写

bin:二进制排序

【5】更改字符集

解决乱码问题(一般如下)

<1>临时(只在当前生效,退出后重新进入恢复原来设置)

set character_set_client = 'utf8';

set character_set_connection = 'utf8';

set character_set_results = 'utf8';

set names utf8;

<2>永久(修改完配置文件,需重启mysql)

在mysql的my.cnf的配置文件中修改或添加下列:

[client]

default-character-set = utf8

[mysqld]

character_set_server = utf8

[mysql]

default-character-set = utf8

备注

<1>

关于mysqld下面的参数,使用mysql5.5验证后,下方的写法都可,并非下划线原因导致的修改不成功:

character_set_server = utf8

character-set-server = utf8

<2>

关于配置文件的修改,有时候由于是编译安装,因此mysql的配置文件,不一定是/etc/my.cnf,因此修改后也不会成功。

<3>

修改完配置文件,并重启mysql后。请查看一下,是否字符集和校对规则如下:

如下即为成功,如果是使用Navicat等第3方工具连接,中文仍有乱码,修改一下工具的编码试试

e739e7d9a73a45b3ad9a1f689be78bc3.png

a02761757d9a23611dcaf9eb13b57395.png

到此这篇关于mysql数据库中字符集乱码问题原因及解决的文章就介绍到这了,更多相关mysql数据库字符集乱码问内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/560576.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

加强计算机网络应用,如何加强计算机网络管理技术创新应用

车煜铭摘要&#xff1a;在社会的发展当中&#xff0c;计算机网络被普遍运用&#xff0c;因此&#xff0c;令人们对计算机网络的依赖性越来越大。长久以来&#xff0c;大部分计算机用户渴望获得一个稳定的网络氛围。为了符合这一需求&#xff0c;计算机网络管理系统随之诞生。其…

python基本语句

文章目录1.赋值语句序列赋值语句&#xff1a;多目标赋值语句&#xff1a;增强赋值语句&#xff1a;表达式语句2.条件语句和循环语句if语句&#xff1a;while循环&#xff1a;for循环&#xff1a;range计数器zip函数enumerate函数1.赋值语句 >>> a1 >>> b2 &…

mysql 经典面试_这些MySQL经典面试题你要知道!

1、MySQL的复制原理以及流程(1)、复制基本原理流程1. 主&#xff1a;binlog线程——记录下所有改变了数据库数据的语句&#xff0c;放进master上的binlog中&#xff1b;2. 从&#xff1a;io线程——在使用start slave 之后&#xff0c;负责从master上拉取 binlog 内容&#xff…

html乱码框框,springmvc+font-awesome开发出的页面显示方框乱码的解决方法

在web.xml中配置如下&#xff1a;springorg.springframework.web.servlet.DispatcherServletcontextConfigLocationclasspath:conf/spring-mvc.xml2spring/default*.cssdefault*.gifdefault*.jpgdefault*.pngdefault*.jpegdefault*.jsdefault*.svgdefault*.eotdefault*.woffdef…

1主5从mysql数据库_MySQL主从复制虽好,能完美解决数据库单点问题吗?

一、单个数据库服务器的缺点数据库服务器存在单点问题&#xff1b;数据库服务器资源无法满足增长的读写请求&#xff1b;高峰时数据库连接数经常超过上限。二、如何解决单点问题增加额外的数据库服务器&#xff0c;组建数据库集群&#xff1b;同一集群中的数据库服务器需要具有…

python基本对象类型

文章目录python对象类型1.数字2.字符串3.列表4.字典5.元组6.文件7.其他核心类型python对象类型 1.数字 例子 >>> 123222 345 >>> 1.5*399 598.5 >>> 2**10 1024 >>> 3.1415*2 6.283 >>> 9.99991 10.9999 >>> import …

html响应式五栏布局,HTML – 响应式2列CSS布局,包括固定宽度的侧边栏?

在任何地方找不到解决方案(我猜这一定是一个非常常见的问题).我正在创建一个带侧边栏的响应式设计,其中侧边栏需要具有200px的固定宽度并且具有未知高度.我怎样才能使主要内容区占据所有剩余的宽度,而不会有任何不当行为.最接近我的是以下内容,但问题在于侧边栏可以与页脚重叠.…

js语句连接mysql数据库_js中require()的用法----JS如何连接数据库执行sql语句或者建立数据库连接池...

var vue require(vue);引入vue的意思&#xff0c;commonjs的写法。node都是用require来载入模块的&#xff0c;可以看看webpackvue。require()可以调用模块。这不是就把vue模块命了个名吗&#xff1f;nodejs的写法&#xff0c;引入vue模块并命名为vue的意思。前端的东西&#…

(DFS)迷宫问题

题目&#xff1a; 从s到t,.意味着可以走&#xff0c;*意味着不能走&#xff0c;如果能走&#xff0c;输出路径&#xff0c;如果不能走&#xff0c;输出no。 输入&#xff1a; 5 6 ....S* .***.. .*..*. *.***. .T....输出&#xff1a; ....m* …

惠普z6计算机进不去桌面,HP Z6 桌面工作站 | HP® HK 惠普香港

Intel、Thunderbolt 及 Xeon 均為 Intel Corporation 於美國及/或其他國家或地區的商標。Microsoft 及 Windows 為 Microsoft Corporation 於美國及/或其他國家或地區的註冊商標或商標。NVIDIA 是 NVIDIA Corporation 在美國及其他國家或地區的商標及/或註冊商標。USB Type-C™…

mysql定义条件和处理_mysql sql存储过程条件定义与处理

一、条件定义DECLARE condition_name CONDITION FOR condition_valecondition_value:sqlstate[value] sqldata_value |mysql教程_error_code二、条件处理DECLARE htype HANDLER FOR cond_value[...] sp_statementhandtype_value:sqlstate [value] saltate_value|contentname|sq…

(DFS)跳马

题目&#xff1a; 马走日&#xff0c;不考虑别马脚&#xff0c;问马能否从S走到T&#xff0c;其中‘#’表示不能落下&#xff0c;‘.’表示能落下 输入&#xff1a; .#....#S# ..#.#.#.. ..##.#..# ......##. ...T..... ...#.#... ...#..... ...###... ......... .##......输…

长沙医学院学位计算机考试内容,湖南长沙医学院2017年9月计算机等级考试报名时间...

长沙医学院2017年下半年第49次全国计算机等级考试(以下简称NCRE)将于2017年9月23至25日举行。为做好本次考试报名及相关考务工作&#xff0c;现将有关事项通知如下&#xff1a;一、报名时间&#xff1a;2016年6月7日—2016年6月18日&#xff0c;逾期不接受任何理由的补报名。二…

(递推)常用递推式总结及实现

常用递推式 后面问题的解可以由前面问题的解递推而来&#xff0c;每一项都与前面若干项有一定关联。它是一种用若干步可以重复的简单运算来描述复杂问题的方法。 爬楼梯和兔子问题和斐波那契&#xff1a;f(n)f(n−1)f(n−2);f(1)1,f(2)1f(n)f(n-1)f(n-2) ; f(1)1,f(2)1 f(n)f…

mysql建表语句utf-8_mysql 创建utf-8数据集

之前数据库都是默认的‘latin1 ’&#xff0c;由于业务需求&#xff0c;需要把数据集修改为utf-8(1)创建一个新的数据库&#xff0c;并设置默认的格式为utf-8CREATE DATABASE IF NOT EXISTS yourdbname DEFAULT CHARSET utf8 COLLATE utf8_general_ci;(2) 将这个yourdbname 数据…

html读取servlet,简单html与servlet交互(HTML利用servlet读取txt)

1.usercheck.htmlhref"../lib/ligerUI/skins/Aqua/css/usertext.css" rel"stylesheet"type"text/css" />填写用户名/>id"verifyButton"/>>2.usertext.css.userClass {border: 1px solid red ;background-image:url(../../…

mysql dnslog_dnslog小技巧

一、dnslog利用场景主要针对无回显的情况。Sql-BlindRCESSRFRFI(Remote File Inclusion)二、原理将dnslog平台中的特有字段payload带入目标发起dns请求&#xff0c;通过dns解析将请求后的关键信息组合成新的三级域名带出&#xff0c;在ns服务器的dns日志中显示出来。三、案例展…

卷积积分

文章目录卷积积分信号的时域分解卷积公式卷积积分定义卷积积分图解法&#xff1a;卷积的性质&#xff1a;常用卷积重要公式卷积求解方法用梳状函数卷积产生周期信号矩形脉冲的卷积产生三角形和梯形脉冲自相关互相关函数定义相关与卷积卷积积分 本质&#xff1a;信号分解 f(t)…

2019哈佛计算机专业录取,2019哈佛大学早申请录取数据公布 录取率再降1个点仅为13.4%...

出结果了&#xff0c;出结果了&#xff0c;作为美国在全球范围内最负盛名的哈佛大学&#xff0c;与近日公布2019美国本科申请提前录取的相关数据。今年哈佛大学本科学院向6,968位在2023届提前录取轮次申请人中的935位发出了录取通知&#xff0c;申请录取率约为13.4%&#xff0c…

mysql master 监控_可用于监控 mysql Master Slave 状态的python代码

代码如下:import osimport sysimport MySQLdbdef getStatus(conn):query ” SHOW SLAVE STATUS “# print querycursor conn.cursor()cursor.execute(query)result cursor.fetchall()return result[0]def resolve(conn):cursor conn.cursor()query1 “set global sql_slav…