上海网站开发制作网站降权

news/2025/9/24 5:46:44/文章来源:
上海网站开发制作,网站降权,网站建设带购物车,手机上建设网站目标:了解字符集的概念#xff0c;掌握MySQL数据库存储数据的字符集逻辑以及设置方式 字符集概念 MySQL字符集关系 解决乱码问题 字符集设置原理 1、字符集概念 目标:了解字符集概念#xff0c;掌握字符集存储和读取的实现原理 概念 字符集:charset或者character set掌握MySQL数据库存储数据的字符集逻辑以及设置方式 字符集概念 MySQL字符集关系 解决乱码问题 字符集设置原理 1、字符集概念 目标:了解字符集概念掌握字符集存储和读取的实现原理 概念 字符集:charset或者character set是各种文字和符号在计算机中的总称 字符集根据不同国家的符号不同有不同的字符集 不同的字符集占用的存储空间不一样存储的底层也不一样 不同字符集之间可以进行转换 常见字符集 ASCI:美国信息交换标准码工般英文符号一个字节存储 latin1:拉丁文字符集一个字节存储ISO-8859-1的别名能够向下兼容ASCII GB2312:信息交换用汉字编码字符集是中国1981年的一套国标规范2个字节存储 GBK:汉字内码扩展规范(1995年)两个字节表示表示(汉字很多超过5000个) Unicode:万国码(统一码)使用统一的编码方式来解决传统的局限1994年出现 UTE-8:8-bit Unicode Transformation Format(万国码)针对Unicode的可变长度字符编码采用1-6个字 节编码Unicode字符(目前通用编码规则)。建议使用UTE-8字符集进行数据存储 演示 ASCII码表(单字节存储:1 byke 8 bits) 原理流程图 1、数据存储 graph LR A(输入符号brA)--B[计算机存储] B--C{字符集选择} C--|ASCII|D[转码br01000001]C--|GBK|E[转码br0000000001000001] C--|ASCII 存储中文|G[转码br乱码] D--F((存储)) E--F G--F 2、数据读取 graph LR A(数据读取)--B{字符集选择} B--ASCII|C[读1个字节br01000001] B--|GBK|D[读2个字节br0000000001000001] B--|UTF-8|G[读3个字节br错误读取] G--H[解析br乱码] C--E[解析brA] D--E E--F((输出)) H--F 小结 1、字符集是一套符号的总称 2、不同国家地区的符号有区别所以有自己的字符集 3、常见的字符集目前是三个 ASClI:美国信息交换标准码 GBK:汉字内码扩展规范(国标)兼容ASCII UTF-8:8字节万国码兼容GBK和ASCIl 4、目前基本都统一使用UTF-8开发和数据存储 5、字符集是指定字符的存储和读取的规范 指定的字符集存储需要使用对应的字符集读取 错误的字符集存储或者读取都会产生乱码 2、MySQL字符集 目标:了解MySQL中字符集的实现原理掌握数据最终的存储字符集 概念 MySQL字符集:MySQL内部对于数据实际存储的字符集(服务器端) MySQL内部对象可以在各个层级设置字符集 MySQL内部队形存在字符集继承:字段-表-数据库-DBMS MySQL内部内嵌支持几乎所有主流字符集 数据存储的最终字符集由字段控制 客户端与服务器进行交互时需要明确告知服务器客户端自己的字符集(数据格式) 演示 查看MySQL支持的所有字符集 show charset; 结果 原理图 1、数据库内部对象字符集原理 graph TB A(服务器数据管理)--B[DBMS系统br安装配置字符集] B--C[数据库br设定字符集] C--|继承DBMS字符集|B C--D[数据表br设定字符集] D--|继承数据库字符集|C D--E[数据字段br设定字符集] E--|继承数据表字符集|D 1.1、服务端存储的数据最终字符集由字段确定 1.2、字段通常不会设置字符集继承表的字符集 1.3、数据存储的字符集与客户端的字符集没有直接关系是由表(字段)决定 小结 1、MySQL服务端数据存储的字符集依赖各个对象设置 DBMS:设置最广一旦设置所有对象都可以依赖但是优先级最低 DB:针对数据库内的所有表优先级高于DBMS可以继承DBMS(一般在数据库层设置) Table:针对当前表的设置优先级高于DB可以继承DB Field:针对当前字段设置优先级高于Table可以继承Table优先级最高2 2、通常字符集的设置都是围绕数据表(现在都在数据库层)不会到具体字段 3、建议使用UTE-8字符集存储数据(MySQL8以后建议使用UTF8MB4) 4、MySQL服务端支持各种字符集并且能够进行各种字符集转换 5、客户端存储数据到服务端原理 客户端告知服务端客户端的字符集 服务端按照客户端指定的字符集接收数据(如果没有指定使用默认可能出现乱码) 服务端按照实际存储表对应的字符集进行转换 服务端存储数据 6、客户端读取服务端数据原理 客户端告知服务端客户端的字符集 服务端按照客户指定的指令从数据库读取原始字符集数据 服务端按照客户端的需求将数据进行字符转换 服务端发送目标数据给客户端 客户端按照自己的字符集进行解析 3、乱码问题解决 目标:了解乱码发生的原因实现乱码问题的解决方案 概念 乱码:指数据不能按照正确的字符集进行存储或者解析。 乱码原因1:数据在存储的时候已经变成乱码 客户端字符集与服务端解析字符集不一致 读取时想转成其他字符集均会错误 乱码原因2:数据存储时正确但是读取时解析成错误字符集 客户端能解析的字符集与服务器提供的字符集不一致 乱码解决方案:不论存储还是读取都提前告知服务器当前客户端的字符集 set names 客户端字符集; 演示 1、MySQL客户端(CMD打开)客户端字符集是固定的GBK set names gbk; 流程图 graph TB A(客户端连接认证服务端)--B[设定字符集br告知服务端当前客户端的字符集] B--C[其他操作br内部字符集转换不用管] C--D((结束)) 小结 1、乱码的本质原因就是客户端与服务端的字符集不一致导致 客户端存储数据的时候服务端没有正确理解(服务端按照默认的存储存储的就是乱码) 客户端读取的时候没有正确告知服务端(服务端按照默认的提供) 2、解决乱码问题的方案:保证服务端正确理解客户端的字符集 setnames 客户端字符集 在任何数据操作之前(尤其是写数据) 4、字符集设置原理 目标:了解set names字符集的本质原理 概念 字符集设置原理:服务器端正确保障对客户端的数据识别 MySQL服务端提供了变量来记录客户端的字符集 MySQL对应的存储字符集的变量可以修改 set names 字符集就是对变量的修改总共有三个 character_set_client:客户端提供的数据的字符集 character_set_results:客户端需要服务端提供的数据的字符集 character_set_connection:连接使用的字符集内部数据操作 演示 1、查看系统内部存储这些记录字符集的信息 show variables like character_set%;   #%表示通配符匹配后续所有不确定的数据 2、修改客户端字符集变量保证数据正常存进服务端 set character_set_client gbk; 3、修改客户端解析字符集变量保证数据正常被客户端查看 set character_set_results gbk; 4、使用set names 字符集批量修改保证客户端被服务端正确理解同时客户端也能正确解析 set names gbk; 小结 1、MySQL字符集控制是在服务端内部通过变量连接(针对每个独立的客户端) 2、set names字符集是一种快捷方式本质有三个变量被修改 character_set_client:服务端接收客户端数据 character_set_connection:服务端内部连接使用 character_set_results:服务端提供数据给客户端 3、通常我们都是使用set names字符集来进行统一设置而且是在建立连接之后操作数据之前就设置 5、总结 1、字符集是所有编程语言里都必须面对的首要问题必须在一开始就选择好字符集(去到企业后先问清楚) 业务针对的符号 业务针对的范围 2、乱码是编程中最基础要解决的问题一旦数据产生了乱码通常是不可逆操作 3、解决乱码问题其实本质就是统一字符集问题 客户端字符集:character_set_client 连接层字符集:character_set_connection 结果集字符集:character_set_results 简单统一方式:set names 客户端字符集 存储字符集:不用考虑因为数据库有强大的字符集转换能力只要在开始设置好保证后续数据不会超出字符集即可 二、校对集 目标:了解校对集的概念以及校对集在校对时的作用 概念 校对集:collate/collation,即数据比较时对应的规则 校对集依赖字符集 校对集的校对方式分为三种 大小写不敏感:cicase insensitive(不区分大小写) 大小写敏感:cscase sensitive区分大小写) 二进制比较: bin区分大小写) 校对集是在进行数据比较的时候触发 演示 1、_cÌ大小写不敏感 A 与 a 是相同的不存在谁大谁小(系统会转换成一种) 2、_cs大小写敏感 A 与 a有大小关系所以不同(存储数值) 3、_bin二进制比较 A的二进制是01000001 a的二进制是01100001 二进制按位比较所以不同 小结 1、校对集是数据比较的规则 校对集依赖字符集存在 每个字符集有多种校对规则 2、校对规则一共有三种 _ci:大小写不敏感不区分大小写 _cs:大小写敏感区分大小写 _bin:二进制比较(区分大小写) 1、校对集设置 目标:了解MySQL中校对集的设计方式以及规则查看 概念 校对集设置:在创建数据表的时候创建校对规则 校对规则可以在MySQL四层对象设计 DBMS:系统配置 DB:数据库指定(库选项) Table:表指定(表选项) Field:字段指定字段选项一般不用 校对集从Field到DBMS继承;优先级Field最高。 每个校对集都有字符集对应的默认规则 校对集设置语法 co11ate 校对集规则;演示 1、查看MySQL支持的所有校对集 show co1lation; 2、在数据库层设计校对集常见 create database db_4 charset utf8mb4 collate utf8mb4_bin; 3、在数据表层设计校对集 create table t_4(id int,name varchar(10) )charset utf8mb4 collate utf8mb4_bin; 4、在字段层设计校对集(一般不常用) create table t_5(id int,name varchar(10) collate utf8mb4_bin )charset utf8mb4; 小结 1、MySQL中四层对象都可以设置校对集 DBMS:配置文件 DB:创建数据库时限定(设置) Table:创建表示限定 Field:创建字段时限定 2、校对集从Field到DBMS实现继承 3、校对集依赖字符集且每个字符集都有默认的校对集(一般情况不需要设置) 2、校对集应用 目标:了解不同校对集的实际校对原理掌握校对规则的应用场景 概念 校对集应用:触发校对规则的使用 校对集的应用通常是通过数据比较触发order by 字段 数据表中数据一旦产生校对集的修改就无效 演示 1、创建校对规则数据表并插入数据 # 创建默认校对规则表(不区分大小写) create table t_4(name varchar(1) )charset utf8mb4; insert into t_4 value(B); insert into t_4 values(A); insert into t_4 values(b); insert into t_4 values(a);#创建二进制校对规则(区分大小写) create table t_5(name varchar(1) )charset utf8mb4 collate utf8mb4_bin; insert into t_5 values(B); insert into t_5 values(A); insert into t_5 values(b); insert into t_5 values(a); 2、触发校对:排序 order by select *from t_4 order by name;#升序 select *from t_5 order by name; 3、数据已经存在的表重新修改校对规则无效 alter table t_5 collate utf8mb4_general_ci: 小结 1、校对集的应用不是主动触发而是通过数据比较自动触发 2、校对集对应的数据一旦产生那么就不可以修改数据表的校对规则 3、校对集通常使用字符集默认校对集如果需要进行额外的比较应用(通常是区分大小写)那么需要在建表的时候设定好目标校对规则 3、总结 1、校对集是数据比较的标准 2、校对集的校对规则都是依赖字符集存在的不外乎三种规则 _ci:不区分大小写 _cs:区分大小写 _bin:二进制比较(区分大小写) 3、校对集的触发是自动的只要数据在进行比较的时候就会自动触发设定的校对规则 校对集的维护要在数据产生之前 数据产生之后校对集的修改将无效 4、在进行数据表设计之前要提前了解数据后续可能产生的比较形态选择好合适的校对规则(一般都默认不区分大小写)

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

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

相关文章

网站建设制作设计公司使用flash做网站

前言 之前初步体验了 React 的魅力, 又看文档理解了一下 useState 和 useEffect, 目前初步理解的概念是: useState 用来声明在组件中使用并且需要修改的变量 useEffect 用来对 useState 声明的变量进行初始化赋值 可能理解的不太准确, 不过大概差不多是这么个意思. 但是再往后…

深圳市罗湖区住房和建设局网站wordpress前台修改

动态资源分配,主要是spark在运行中可以相对合理的分配资源。 初始申请的资源远超实际需要,减少executor初始申请的资源比实际需要少很多,增多executorSpark运行多个job,这些job所需资源有的多有的少,动态调整executor…

建设网站找哪个公司厦门做商城网站

3.3 VREF/VREF-引脚 VREF和VREF-是STM32中用于提供参考电压的引脚。如下图: VREF引脚可以连接一个单独的外部参考电压,范围在2.0V~VDDA,但不能超过VDDA,否则就超过了模拟器件的最大供电电压。在100引脚的封装中&#…

河间市网站建设公司学装修设计

本篇文章聊聊 Stable Diffusion WebUI 中的核心组件,强壮的人脸图像面部画面修复模型 GFPGAN 相关的事情。 写在前面 本篇文章的主角是开源项目 TencentARC/GFPGAN,和上一篇文章《Stable Diffusion 硬核生存指南:WebUI 中的 CodeFormer》提…

网站 整体架构网址大全电脑版

今天,我们将看到有关此工具的信息,该工具使使用JPA Criteria更加容易。 使用该库的应用程序将在JPA实现中更加简洁,易于使用和可移植。 在本文的结尾,您将找到要下载的源代码。 什么是标准? 当前是创建动态查询的最佳…

莱特币做空国外网站佛山网络科技公司有哪些

CVE-2024-1430 是一个影响 Netgear R7000 路由器的安全漏洞,漏洞来源于该路由器 Web 管理界面的信息泄露问题。攻击者通过访问 /currentsetting.htm 文件,可能泄露敏感信息,如 Wi-Fi 密码等。 在测试和验证 CVE-2024-1430 时,您需…

制作网站的模板下载软件wordpress无法连接数据库

文档讲解:代码随想录 (programmercarl.com) 视频讲解:代码随想录的个人空间-代码随想录个人主页-哔哩哔哩视频 (bilibili.com) LeetCode 300.最长递增子序列 题目链接:300. 最长递增子序列 - 力扣(LeetCode) 解题代码…

创建网站投资多少钱北京网页设计电脑培训

晚上好,我是老杨。 Ping这几个字母,已经深入网工人的骨髓了吧? 把Ping用到工作里,肯定不少人在用,但对Ping的了解和理解是不是足够深,取决了你能在工作里用到什么程度,能让它帮你到什么地步。…

建设银行 福建 招聘网站沈阳 建设工程 招标中心网站

目录 前言 算法原理 姿态估计 2D姿态估计 3D姿态估计 3D形态估计 应用案例

手机网站模板使用方法怎么建设一个开源平台网站

在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序员要尽量根据6条原则来开发程序,从而提高软件开发效率、节约软件开发成本和维护成本。 开闭原则 对扩展开放,对修改关闭。在程序需…

湛江h5建站wordpress 工作室主题

%d 十进制有符号整数 %u 十进制无符号整数 %f 浮点数 %s 字符串 %c 单个字符 %p 指针的值 %e 指数形式的浮点数 %x, %X 无符号以十六进制表示的整数 %0 无符号以八进制表示的整数 %g 自动选择合适的表示法 可以在”%”和字母之间加小写字母l, 表示输出的是长型数。 …

查建设标准网站优化网站除了百度站长

从政府工作报告探计算机行业发展 政府工作报告作为政府工作的全面总结和未来规划,不仅反映了国家整体的发展态势,也为各行各业提供了发展的指引和参考。随着信息技术的快速发展,计算机行业已经成为推动经济社会发展的重要引擎之一。因此&…

建设网站的功能定位是什么意思wordpress自动判断当前分类并获取tag标签

Redis | 集群模式 随着互联网应用规模的不断扩大,单一节点的数据库性能已经无法满足大规模应用的需求。为了提高数据库的性能和可扩展性,分布式数据库成为了解决方案之一。Redis 作为一个高性能的内存数据库,自然也有了自己的分布式部署方式…

浙江中立建设网站茶酒行业网站建设

很高兴告诉大家,我们StoneDB-8.0-V2.1.0企业版正式发布了!经过一个月的开发,我们的研发团队用极高的效率对2.0新架构版本查漏补缺,完善了最新架构的代码,并对性能、稳定性做出了优化,同时也修复了一些用户们…

如何 html5 网站常州房地产网站建设

近日,灵隐寺PPT汇报用上数据大屏疯狂刷屏,有做东南亚本土电商的老板发现这种数据大屏的模式可以很好地展现店铺运营状况。 所以就有老板来问:EasyBoss能不能也上线实时数据大屏的功能?没问题!立马安排! 要有…

15年做那些网站致富wordpress自动alt

avi文件格式详解 AVI是音频视频交错(Audio Video Interleaved)的英文缩写,它是Microsoft公司开发的一种符合RIFF文件规范的数字音频与视频文件格式,原先用于Microsoft Video for Windows (简称VFW)环境,现在已被Windows 95/98、OS/2等多数操…

上海网站推广模板汉中公司网站建设

NextQRCode ZXing开源库的精简版 **基于ZXing Android实现生成二维码图片和相机扫描二维码图片即时解码的功能原文博客 附源码下载地址** 与原ZXingMini项目对比 NextQRCode做了重大架构修改,原ZXingMini项目与当前NextQRCode不兼容 dependencies {compile com.gith…

网站建设成品常州企业家坠楼公司发讣告后删除

c qt–页面布局(第五部分) 一.页面布局 在设计页面的左侧一栏的组件中我们可以看到进行页面布局的一些组件 布局组件的使用 1.水平布局 使用:将别的组件拖到水平布局的组件中即可,可以选择是在哪个位置 2.垂直布局 使用&…

洛阳便宜网站建设漫画网站建设教程

文章目录 准备安装安装宝塔面板开启ssh和修改ssh的密码导出镜像问题解决宝塔面板无法开启防火墙无法启动ssh设置密码nginx安装失败设置开机启动相关服务准备 演示的系统环境:Ubuntu 22.04.3 LTS更新安装/升级docker到最新版本升级docker相关命令如下# 更新软件包列表并自动升级…