文章目录
- 字符集
- 字符集概念
- MySQL字符集
- 乱码问题解决
- 字符集设置原理
- 总结
- 校对集
字符集
目标:了解字符集的概念,掌握MySQL数据库存储数据的字符集逻辑以及设置方式
- 字符集概念
- MySQL字符集关系
- 解决乱码问题
- 字符集设置原理
字符集概念
字符集:charset或者character set,是各种文字和符号在计算机中的总称
- 字符集根据不同国家的符号不同,有不同的字符集
- 不同的字符集占用的存储空间不一样,存储的底层也不一样
- 不同字符集之间可以进行转换
- 常见字符集
- ASCII:美国信息交换标准码,一般英文符号,一个字节存储
- latin1:拉丁文字符集,一个字节存储,ISO-8859-1的别名 ,能够向下兼容ASCII
- GB2312:信息交换用汉字编码字符集 ,是中国1981年的一套国标规范,2个字节存储
- GBK:汉字内码扩展规范(1995年),两个字节表示表示(汉字很多超过5000个)
- Unicode:万国码(统一码),使用统一的编码方式来解决传统的局限,1994年出现
- UTF-8:8-bit Unicode Transformation Format(万国码) ,针对Unicode的可变长度字符编码,采用1-6个字节编码Unicode字符(目前通用编码规则)。建议使用UTF-8字符集进行数据存储(MySQL8中建议使用utf8mb4)
原理流程图:
1、数据存储
#mermaid-svg-fewQSCleAGbtY4RV .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-fewQSCleAGbtY4RV .label text{fill:#333}#mermaid-svg-fewQSCleAGbtY4RV .node rect,#mermaid-svg-fewQSCleAGbtY4RV .node circle,#mermaid-svg-fewQSCleAGbtY4RV .node ellipse,#mermaid-svg-fewQSCleAGbtY4RV .node polygon,#mermaid-svg-fewQSCleAGbtY4RV .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-fewQSCleAGbtY4RV .node .label{text-align:center;fill:#333}#mermaid-svg-fewQSCleAGbtY4RV .node.clickable{cursor:pointer}#mermaid-svg-fewQSCleAGbtY4RV .arrowheadPath{fill:#333}#mermaid-svg-fewQSCleAGbtY4RV .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-fewQSCleAGbtY4RV .flowchart-link{stroke:#333;fill:none}#mermaid-svg-fewQSCleAGbtY4RV .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-fewQSCleAGbtY4RV .edgeLabel rect{opacity:0.9}#mermaid-svg-fewQSCleAGbtY4RV .edgeLabel span{color:#333}#mermaid-svg-fewQSCleAGbtY4RV .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-fewQSCleAGbtY4RV .cluster text{fill:#333}#mermaid-svg-fewQSCleAGbtY4RV div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-fewQSCleAGbtY4RV .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-fewQSCleAGbtY4RV text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-fewQSCleAGbtY4RV .actor-line{stroke:grey}#mermaid-svg-fewQSCleAGbtY4RV .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-fewQSCleAGbtY4RV .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-fewQSCleAGbtY4RV #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-fewQSCleAGbtY4RV .sequenceNumber{fill:#fff}#mermaid-svg-fewQSCleAGbtY4RV #sequencenumber{fill:#333}#mermaid-svg-fewQSCleAGbtY4RV #crosshead path{fill:#333;stroke:#333}#mermaid-svg-fewQSCleAGbtY4RV .messageText{fill:#333;stroke:#333}#mermaid-svg-fewQSCleAGbtY4RV .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-fewQSCleAGbtY4RV .labelText,#mermaid-svg-fewQSCleAGbtY4RV .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-fewQSCleAGbtY4RV .loopText,#mermaid-svg-fewQSCleAGbtY4RV .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-fewQSCleAGbtY4RV .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-fewQSCleAGbtY4RV .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-fewQSCleAGbtY4RV .noteText,#mermaid-svg-fewQSCleAGbtY4RV .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-fewQSCleAGbtY4RV .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-fewQSCleAGbtY4RV .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-fewQSCleAGbtY4RV .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-fewQSCleAGbtY4RV .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-fewQSCleAGbtY4RV .section{stroke:none;opacity:0.2}#mermaid-svg-fewQSCleAGbtY4RV .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-fewQSCleAGbtY4RV .section2{fill:#fff400}#mermaid-svg-fewQSCleAGbtY4RV .section1,#mermaid-svg-fewQSCleAGbtY4RV .section3{fill:#fff;opacity:0.2}#mermaid-svg-fewQSCleAGbtY4RV .sectionTitle0{fill:#333}#mermaid-svg-fewQSCleAGbtY4RV .sectionTitle1{fill:#333}#mermaid-svg-fewQSCleAGbtY4RV .sectionTitle2{fill:#333}#mermaid-svg-fewQSCleAGbtY4RV .sectionTitle3{fill:#333}#mermaid-svg-fewQSCleAGbtY4RV .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-fewQSCleAGbtY4RV .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-fewQSCleAGbtY4RV .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-fewQSCleAGbtY4RV .grid path{stroke-width:0}#mermaid-svg-fewQSCleAGbtY4RV .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-fewQSCleAGbtY4RV .task{stroke-width:2}#mermaid-svg-fewQSCleAGbtY4RV .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-fewQSCleAGbtY4RV .taskText:not([font-size]){font-size:11px}#mermaid-svg-fewQSCleAGbtY4RV .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-fewQSCleAGbtY4RV .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-fewQSCleAGbtY4RV .task.clickable{cursor:pointer}#mermaid-svg-fewQSCleAGbtY4RV .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-fewQSCleAGbtY4RV .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-fewQSCleAGbtY4RV .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-fewQSCleAGbtY4RV .taskText0,#mermaid-svg-fewQSCleAGbtY4RV .taskText1,#mermaid-svg-fewQSCleAGbtY4RV .taskText2,#mermaid-svg-fewQSCleAGbtY4RV .taskText3{fill:#fff}#mermaid-svg-fewQSCleAGbtY4RV .task0,#mermaid-svg-fewQSCleAGbtY4RV .task1,#mermaid-svg-fewQSCleAGbtY4RV .task2,#mermaid-svg-fewQSCleAGbtY4RV .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-fewQSCleAGbtY4RV .taskTextOutside0,#mermaid-svg-fewQSCleAGbtY4RV .taskTextOutside2{fill:#000}#mermaid-svg-fewQSCleAGbtY4RV .taskTextOutside1,#mermaid-svg-fewQSCleAGbtY4RV .taskTextOutside3{fill:#000}#mermaid-svg-fewQSCleAGbtY4RV .active0,#mermaid-svg-fewQSCleAGbtY4RV .active1,#mermaid-svg-fewQSCleAGbtY4RV .active2,#mermaid-svg-fewQSCleAGbtY4RV .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-fewQSCleAGbtY4RV .activeText0,#mermaid-svg-fewQSCleAGbtY4RV .activeText1,#mermaid-svg-fewQSCleAGbtY4RV .activeText2,#mermaid-svg-fewQSCleAGbtY4RV .activeText3{fill:#000 !important}#mermaid-svg-fewQSCleAGbtY4RV .done0,#mermaid-svg-fewQSCleAGbtY4RV .done1,#mermaid-svg-fewQSCleAGbtY4RV .done2,#mermaid-svg-fewQSCleAGbtY4RV .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-fewQSCleAGbtY4RV .doneText0,#mermaid-svg-fewQSCleAGbtY4RV .doneText1,#mermaid-svg-fewQSCleAGbtY4RV .doneText2,#mermaid-svg-fewQSCleAGbtY4RV .doneText3{fill:#000 !important}#mermaid-svg-fewQSCleAGbtY4RV .crit0,#mermaid-svg-fewQSCleAGbtY4RV .crit1,#mermaid-svg-fewQSCleAGbtY4RV .crit2,#mermaid-svg-fewQSCleAGbtY4RV .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-fewQSCleAGbtY4RV .activeCrit0,#mermaid-svg-fewQSCleAGbtY4RV .activeCrit1,#mermaid-svg-fewQSCleAGbtY4RV .activeCrit2,#mermaid-svg-fewQSCleAGbtY4RV .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-fewQSCleAGbtY4RV .doneCrit0,#mermaid-svg-fewQSCleAGbtY4RV .doneCrit1,#mermaid-svg-fewQSCleAGbtY4RV .doneCrit2,#mermaid-svg-fewQSCleAGbtY4RV .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-fewQSCleAGbtY4RV .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-fewQSCleAGbtY4RV .milestoneText{font-style:italic}#mermaid-svg-fewQSCleAGbtY4RV .doneCritText0,#mermaid-svg-fewQSCleAGbtY4RV .doneCritText1,#mermaid-svg-fewQSCleAGbtY4RV .doneCritText2,#mermaid-svg-fewQSCleAGbtY4RV .doneCritText3{fill:#000 !important}#mermaid-svg-fewQSCleAGbtY4RV .activeCritText0,#mermaid-svg-fewQSCleAGbtY4RV .activeCritText1,#mermaid-svg-fewQSCleAGbtY4RV .activeCritText2,#mermaid-svg-fewQSCleAGbtY4RV .activeCritText3{fill:#000 !important}#mermaid-svg-fewQSCleAGbtY4RV .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-fewQSCleAGbtY4RV g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-fewQSCleAGbtY4RV g.classGroup text .title{font-weight:bolder}#mermaid-svg-fewQSCleAGbtY4RV g.clickable{cursor:pointer}#mermaid-svg-fewQSCleAGbtY4RV g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-fewQSCleAGbtY4RV g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-fewQSCleAGbtY4RV .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-fewQSCleAGbtY4RV .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-fewQSCleAGbtY4RV .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-fewQSCleAGbtY4RV .dashed-line{stroke-dasharray:3}#mermaid-svg-fewQSCleAGbtY4RV #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-fewQSCleAGbtY4RV #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-fewQSCleAGbtY4RV #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-fewQSCleAGbtY4RV #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-fewQSCleAGbtY4RV #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-fewQSCleAGbtY4RV #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-fewQSCleAGbtY4RV #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-fewQSCleAGbtY4RV #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-fewQSCleAGbtY4RV .commit-id,#mermaid-svg-fewQSCleAGbtY4RV .commit-msg,#mermaid-svg-fewQSCleAGbtY4RV .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-fewQSCleAGbtY4RV .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-fewQSCleAGbtY4RV .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-fewQSCleAGbtY4RV g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-fewQSCleAGbtY4RV g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-fewQSCleAGbtY4RV g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-fewQSCleAGbtY4RV g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-fewQSCleAGbtY4RV g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-fewQSCleAGbtY4RV g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-fewQSCleAGbtY4RV .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-fewQSCleAGbtY4RV .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-fewQSCleAGbtY4RV .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-fewQSCleAGbtY4RV .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-fewQSCleAGbtY4RV .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-fewQSCleAGbtY4RV .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-fewQSCleAGbtY4RV .edgeLabel text{fill:#333}#mermaid-svg-fewQSCleAGbtY4RV .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-fewQSCleAGbtY4RV .node circle.state-start{fill:black;stroke:black}#mermaid-svg-fewQSCleAGbtY4RV .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-fewQSCleAGbtY4RV #statediagram-barbEnd{fill:#9370db}#mermaid-svg-fewQSCleAGbtY4RV .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-fewQSCleAGbtY4RV .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-fewQSCleAGbtY4RV .statediagram-state .divider{stroke:#9370db}#mermaid-svg-fewQSCleAGbtY4RV .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-fewQSCleAGbtY4RV .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-fewQSCleAGbtY4RV .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-fewQSCleAGbtY4RV .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-fewQSCleAGbtY4RV .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-fewQSCleAGbtY4RV .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-fewQSCleAGbtY4RV .note-edge{stroke-dasharray:5}#mermaid-svg-fewQSCleAGbtY4RV .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-fewQSCleAGbtY4RV .error-icon{fill:#522}#mermaid-svg-fewQSCleAGbtY4RV .error-text{fill:#522;stroke:#522}#mermaid-svg-fewQSCleAGbtY4RV .edge-thickness-normal{stroke-width:2px}#mermaid-svg-fewQSCleAGbtY4RV .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-fewQSCleAGbtY4RV .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-fewQSCleAGbtY4RV .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-fewQSCleAGbtY4RV .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-fewQSCleAGbtY4RV .marker{fill:#333}#mermaid-svg-fewQSCleAGbtY4RV .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-fewQSCleAGbtY4RV {color: rgba(0, 0, 0, 0.75);font: ;}
ASCII
GBK
ASCII 存储中文
输入符号
A
计算机存储
字符集选择
转码
01000001
转码
0000000001000001
转码
乱码
存储
2、数据读取
#mermaid-svg-hgjbMqBovxOomkpe .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-hgjbMqBovxOomkpe .label text{fill:#333}#mermaid-svg-hgjbMqBovxOomkpe .node rect,#mermaid-svg-hgjbMqBovxOomkpe .node circle,#mermaid-svg-hgjbMqBovxOomkpe .node ellipse,#mermaid-svg-hgjbMqBovxOomkpe .node polygon,#mermaid-svg-hgjbMqBovxOomkpe .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-hgjbMqBovxOomkpe .node .label{text-align:center;fill:#333}#mermaid-svg-hgjbMqBovxOomkpe .node.clickable{cursor:pointer}#mermaid-svg-hgjbMqBovxOomkpe .arrowheadPath{fill:#333}#mermaid-svg-hgjbMqBovxOomkpe .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-hgjbMqBovxOomkpe .flowchart-link{stroke:#333;fill:none}#mermaid-svg-hgjbMqBovxOomkpe .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-hgjbMqBovxOomkpe .edgeLabel rect{opacity:0.9}#mermaid-svg-hgjbMqBovxOomkpe .edgeLabel span{color:#333}#mermaid-svg-hgjbMqBovxOomkpe .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-hgjbMqBovxOomkpe .cluster text{fill:#333}#mermaid-svg-hgjbMqBovxOomkpe div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-hgjbMqBovxOomkpe .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-hgjbMqBovxOomkpe text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-hgjbMqBovxOomkpe .actor-line{stroke:grey}#mermaid-svg-hgjbMqBovxOomkpe .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-hgjbMqBovxOomkpe .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-hgjbMqBovxOomkpe #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-hgjbMqBovxOomkpe .sequenceNumber{fill:#fff}#mermaid-svg-hgjbMqBovxOomkpe #sequencenumber{fill:#333}#mermaid-svg-hgjbMqBovxOomkpe #crosshead path{fill:#333;stroke:#333}#mermaid-svg-hgjbMqBovxOomkpe .messageText{fill:#333;stroke:#333}#mermaid-svg-hgjbMqBovxOomkpe .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-hgjbMqBovxOomkpe .labelText,#mermaid-svg-hgjbMqBovxOomkpe .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-hgjbMqBovxOomkpe .loopText,#mermaid-svg-hgjbMqBovxOomkpe .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-hgjbMqBovxOomkpe .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-hgjbMqBovxOomkpe .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-hgjbMqBovxOomkpe .noteText,#mermaid-svg-hgjbMqBovxOomkpe .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-hgjbMqBovxOomkpe .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-hgjbMqBovxOomkpe .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-hgjbMqBovxOomkpe .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-hgjbMqBovxOomkpe .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-hgjbMqBovxOomkpe .section{stroke:none;opacity:0.2}#mermaid-svg-hgjbMqBovxOomkpe .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-hgjbMqBovxOomkpe .section2{fill:#fff400}#mermaid-svg-hgjbMqBovxOomkpe .section1,#mermaid-svg-hgjbMqBovxOomkpe .section3{fill:#fff;opacity:0.2}#mermaid-svg-hgjbMqBovxOomkpe .sectionTitle0{fill:#333}#mermaid-svg-hgjbMqBovxOomkpe .sectionTitle1{fill:#333}#mermaid-svg-hgjbMqBovxOomkpe .sectionTitle2{fill:#333}#mermaid-svg-hgjbMqBovxOomkpe .sectionTitle3{fill:#333}#mermaid-svg-hgjbMqBovxOomkpe .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-hgjbMqBovxOomkpe .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-hgjbMqBovxOomkpe .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-hgjbMqBovxOomkpe .grid path{stroke-width:0}#mermaid-svg-hgjbMqBovxOomkpe .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-hgjbMqBovxOomkpe .task{stroke-width:2}#mermaid-svg-hgjbMqBovxOomkpe .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-hgjbMqBovxOomkpe .taskText:not([font-size]){font-size:11px}#mermaid-svg-hgjbMqBovxOomkpe .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-hgjbMqBovxOomkpe .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-hgjbMqBovxOomkpe .task.clickable{cursor:pointer}#mermaid-svg-hgjbMqBovxOomkpe .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-hgjbMqBovxOomkpe .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-hgjbMqBovxOomkpe .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-hgjbMqBovxOomkpe .taskText0,#mermaid-svg-hgjbMqBovxOomkpe .taskText1,#mermaid-svg-hgjbMqBovxOomkpe .taskText2,#mermaid-svg-hgjbMqBovxOomkpe .taskText3{fill:#fff}#mermaid-svg-hgjbMqBovxOomkpe .task0,#mermaid-svg-hgjbMqBovxOomkpe .task1,#mermaid-svg-hgjbMqBovxOomkpe .task2,#mermaid-svg-hgjbMqBovxOomkpe .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-hgjbMqBovxOomkpe .taskTextOutside0,#mermaid-svg-hgjbMqBovxOomkpe .taskTextOutside2{fill:#000}#mermaid-svg-hgjbMqBovxOomkpe .taskTextOutside1,#mermaid-svg-hgjbMqBovxOomkpe .taskTextOutside3{fill:#000}#mermaid-svg-hgjbMqBovxOomkpe .active0,#mermaid-svg-hgjbMqBovxOomkpe .active1,#mermaid-svg-hgjbMqBovxOomkpe .active2,#mermaid-svg-hgjbMqBovxOomkpe .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-hgjbMqBovxOomkpe .activeText0,#mermaid-svg-hgjbMqBovxOomkpe .activeText1,#mermaid-svg-hgjbMqBovxOomkpe .activeText2,#mermaid-svg-hgjbMqBovxOomkpe .activeText3{fill:#000 !important}#mermaid-svg-hgjbMqBovxOomkpe .done0,#mermaid-svg-hgjbMqBovxOomkpe .done1,#mermaid-svg-hgjbMqBovxOomkpe .done2,#mermaid-svg-hgjbMqBovxOomkpe .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-hgjbMqBovxOomkpe .doneText0,#mermaid-svg-hgjbMqBovxOomkpe .doneText1,#mermaid-svg-hgjbMqBovxOomkpe .doneText2,#mermaid-svg-hgjbMqBovxOomkpe .doneText3{fill:#000 !important}#mermaid-svg-hgjbMqBovxOomkpe .crit0,#mermaid-svg-hgjbMqBovxOomkpe .crit1,#mermaid-svg-hgjbMqBovxOomkpe .crit2,#mermaid-svg-hgjbMqBovxOomkpe .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-hgjbMqBovxOomkpe .activeCrit0,#mermaid-svg-hgjbMqBovxOomkpe .activeCrit1,#mermaid-svg-hgjbMqBovxOomkpe .activeCrit2,#mermaid-svg-hgjbMqBovxOomkpe .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-hgjbMqBovxOomkpe .doneCrit0,#mermaid-svg-hgjbMqBovxOomkpe .doneCrit1,#mermaid-svg-hgjbMqBovxOomkpe .doneCrit2,#mermaid-svg-hgjbMqBovxOomkpe .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-hgjbMqBovxOomkpe .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-hgjbMqBovxOomkpe .milestoneText{font-style:italic}#mermaid-svg-hgjbMqBovxOomkpe .doneCritText0,#mermaid-svg-hgjbMqBovxOomkpe .doneCritText1,#mermaid-svg-hgjbMqBovxOomkpe .doneCritText2,#mermaid-svg-hgjbMqBovxOomkpe .doneCritText3{fill:#000 !important}#mermaid-svg-hgjbMqBovxOomkpe .activeCritText0,#mermaid-svg-hgjbMqBovxOomkpe .activeCritText1,#mermaid-svg-hgjbMqBovxOomkpe .activeCritText2,#mermaid-svg-hgjbMqBovxOomkpe .activeCritText3{fill:#000 !important}#mermaid-svg-hgjbMqBovxOomkpe .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-hgjbMqBovxOomkpe g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-hgjbMqBovxOomkpe g.classGroup text .title{font-weight:bolder}#mermaid-svg-hgjbMqBovxOomkpe g.clickable{cursor:pointer}#mermaid-svg-hgjbMqBovxOomkpe g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-hgjbMqBovxOomkpe g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-hgjbMqBovxOomkpe .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-hgjbMqBovxOomkpe .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-hgjbMqBovxOomkpe .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-hgjbMqBovxOomkpe .dashed-line{stroke-dasharray:3}#mermaid-svg-hgjbMqBovxOomkpe #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-hgjbMqBovxOomkpe #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-hgjbMqBovxOomkpe #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-hgjbMqBovxOomkpe #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-hgjbMqBovxOomkpe #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-hgjbMqBovxOomkpe #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-hgjbMqBovxOomkpe #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-hgjbMqBovxOomkpe #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-hgjbMqBovxOomkpe .commit-id,#mermaid-svg-hgjbMqBovxOomkpe .commit-msg,#mermaid-svg-hgjbMqBovxOomkpe .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-hgjbMqBovxOomkpe .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-hgjbMqBovxOomkpe .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-hgjbMqBovxOomkpe g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-hgjbMqBovxOomkpe g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-hgjbMqBovxOomkpe g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-hgjbMqBovxOomkpe g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-hgjbMqBovxOomkpe g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-hgjbMqBovxOomkpe g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-hgjbMqBovxOomkpe .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-hgjbMqBovxOomkpe .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-hgjbMqBovxOomkpe .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-hgjbMqBovxOomkpe .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-hgjbMqBovxOomkpe .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-hgjbMqBovxOomkpe .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-hgjbMqBovxOomkpe .edgeLabel text{fill:#333}#mermaid-svg-hgjbMqBovxOomkpe .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-hgjbMqBovxOomkpe .node circle.state-start{fill:black;stroke:black}#mermaid-svg-hgjbMqBovxOomkpe .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-hgjbMqBovxOomkpe #statediagram-barbEnd{fill:#9370db}#mermaid-svg-hgjbMqBovxOomkpe .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-hgjbMqBovxOomkpe .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-hgjbMqBovxOomkpe .statediagram-state .divider{stroke:#9370db}#mermaid-svg-hgjbMqBovxOomkpe .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-hgjbMqBovxOomkpe .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-hgjbMqBovxOomkpe .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-hgjbMqBovxOomkpe .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-hgjbMqBovxOomkpe .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-hgjbMqBovxOomkpe .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-hgjbMqBovxOomkpe .note-edge{stroke-dasharray:5}#mermaid-svg-hgjbMqBovxOomkpe .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-hgjbMqBovxOomkpe .error-icon{fill:#522}#mermaid-svg-hgjbMqBovxOomkpe .error-text{fill:#522;stroke:#522}#mermaid-svg-hgjbMqBovxOomkpe .edge-thickness-normal{stroke-width:2px}#mermaid-svg-hgjbMqBovxOomkpe .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-hgjbMqBovxOomkpe .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-hgjbMqBovxOomkpe .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-hgjbMqBovxOomkpe .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-hgjbMqBovxOomkpe .marker{fill:#333}#mermaid-svg-hgjbMqBovxOomkpe .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-hgjbMqBovxOomkpe {color: rgba(0, 0, 0, 0.75);font: ;}
ASCII
GBK
UTF-8
数据读取
字符集选择
读1个字节
01000001
读2个字节
0000000001000001
读3个字节
错误读取
解析
乱码
解析
A
输出
小结
1、字符集是一套符号的总称
2、不同国家地区的符号有区别,所以有自己的字符集
3、常见的字符集目前是三个
- ASCII:美国信息交换标准码
- GBK:汉字内码扩展规范(国标),兼容ASCII
- UTF-8:8字节万国码,兼容GBK和ASCII
4、目前基本都统一使用UTF-8 开发和数据存储
5、字符集是指定字符的存储和读取的规范
- 指定的字符集存储需要使用对应的字符集读取
- 错误的字符集存储或者读取都会产生乱码
MySQL字符集
MySQL字符集:MySQL内部对于数据实际存储的字符集(服务器端)
- MySQL内部对象可以在各个层级设置字符集
- MySQL内部对象存在字符集继承:字段 -> 表 -> 数据库 -> DBMS
- MySQL内部内嵌支持几乎所有主流字符集
- 数据存储的最终字符集由字段控制
- 客户端与服务器进行交互时,需要明确告知服务器客户端自己的字符集(数据格式)
查看MySQL支持的所有字符集:show charset;
原理图:
1、数据库内部对象字符集原理
#mermaid-svg-YcZu0V7VpfhYjP2g .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-YcZu0V7VpfhYjP2g .label text{fill:#333}#mermaid-svg-YcZu0V7VpfhYjP2g .node rect,#mermaid-svg-YcZu0V7VpfhYjP2g .node circle,#mermaid-svg-YcZu0V7VpfhYjP2g .node ellipse,#mermaid-svg-YcZu0V7VpfhYjP2g .node polygon,#mermaid-svg-YcZu0V7VpfhYjP2g .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-YcZu0V7VpfhYjP2g .node .label{text-align:center;fill:#333}#mermaid-svg-YcZu0V7VpfhYjP2g .node.clickable{cursor:pointer}#mermaid-svg-YcZu0V7VpfhYjP2g .arrowheadPath{fill:#333}#mermaid-svg-YcZu0V7VpfhYjP2g .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-YcZu0V7VpfhYjP2g .flowchart-link{stroke:#333;fill:none}#mermaid-svg-YcZu0V7VpfhYjP2g .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-YcZu0V7VpfhYjP2g .edgeLabel rect{opacity:0.9}#mermaid-svg-YcZu0V7VpfhYjP2g .edgeLabel span{color:#333}#mermaid-svg-YcZu0V7VpfhYjP2g .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-YcZu0V7VpfhYjP2g .cluster text{fill:#333}#mermaid-svg-YcZu0V7VpfhYjP2g div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-YcZu0V7VpfhYjP2g .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-YcZu0V7VpfhYjP2g text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-YcZu0V7VpfhYjP2g .actor-line{stroke:grey}#mermaid-svg-YcZu0V7VpfhYjP2g .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-YcZu0V7VpfhYjP2g .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-YcZu0V7VpfhYjP2g #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-YcZu0V7VpfhYjP2g .sequenceNumber{fill:#fff}#mermaid-svg-YcZu0V7VpfhYjP2g #sequencenumber{fill:#333}#mermaid-svg-YcZu0V7VpfhYjP2g #crosshead path{fill:#333;stroke:#333}#mermaid-svg-YcZu0V7VpfhYjP2g .messageText{fill:#333;stroke:#333}#mermaid-svg-YcZu0V7VpfhYjP2g .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-YcZu0V7VpfhYjP2g .labelText,#mermaid-svg-YcZu0V7VpfhYjP2g .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-YcZu0V7VpfhYjP2g .loopText,#mermaid-svg-YcZu0V7VpfhYjP2g .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-YcZu0V7VpfhYjP2g .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-YcZu0V7VpfhYjP2g .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-YcZu0V7VpfhYjP2g .noteText,#mermaid-svg-YcZu0V7VpfhYjP2g .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-YcZu0V7VpfhYjP2g .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-YcZu0V7VpfhYjP2g .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-YcZu0V7VpfhYjP2g .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-YcZu0V7VpfhYjP2g .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-YcZu0V7VpfhYjP2g .section{stroke:none;opacity:0.2}#mermaid-svg-YcZu0V7VpfhYjP2g .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-YcZu0V7VpfhYjP2g .section2{fill:#fff400}#mermaid-svg-YcZu0V7VpfhYjP2g .section1,#mermaid-svg-YcZu0V7VpfhYjP2g .section3{fill:#fff;opacity:0.2}#mermaid-svg-YcZu0V7VpfhYjP2g .sectionTitle0{fill:#333}#mermaid-svg-YcZu0V7VpfhYjP2g .sectionTitle1{fill:#333}#mermaid-svg-YcZu0V7VpfhYjP2g .sectionTitle2{fill:#333}#mermaid-svg-YcZu0V7VpfhYjP2g .sectionTitle3{fill:#333}#mermaid-svg-YcZu0V7VpfhYjP2g .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-YcZu0V7VpfhYjP2g .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-YcZu0V7VpfhYjP2g .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-YcZu0V7VpfhYjP2g .grid path{stroke-width:0}#mermaid-svg-YcZu0V7VpfhYjP2g .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-YcZu0V7VpfhYjP2g .task{stroke-width:2}#mermaid-svg-YcZu0V7VpfhYjP2g .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-YcZu0V7VpfhYjP2g .taskText:not([font-size]){font-size:11px}#mermaid-svg-YcZu0V7VpfhYjP2g .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-YcZu0V7VpfhYjP2g .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-YcZu0V7VpfhYjP2g .task.clickable{cursor:pointer}#mermaid-svg-YcZu0V7VpfhYjP2g .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-YcZu0V7VpfhYjP2g .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-YcZu0V7VpfhYjP2g .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-YcZu0V7VpfhYjP2g .taskText0,#mermaid-svg-YcZu0V7VpfhYjP2g .taskText1,#mermaid-svg-YcZu0V7VpfhYjP2g .taskText2,#mermaid-svg-YcZu0V7VpfhYjP2g .taskText3{fill:#fff}#mermaid-svg-YcZu0V7VpfhYjP2g .task0,#mermaid-svg-YcZu0V7VpfhYjP2g .task1,#mermaid-svg-YcZu0V7VpfhYjP2g .task2,#mermaid-svg-YcZu0V7VpfhYjP2g .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-YcZu0V7VpfhYjP2g .taskTextOutside0,#mermaid-svg-YcZu0V7VpfhYjP2g .taskTextOutside2{fill:#000}#mermaid-svg-YcZu0V7VpfhYjP2g .taskTextOutside1,#mermaid-svg-YcZu0V7VpfhYjP2g .taskTextOutside3{fill:#000}#mermaid-svg-YcZu0V7VpfhYjP2g .active0,#mermaid-svg-YcZu0V7VpfhYjP2g .active1,#mermaid-svg-YcZu0V7VpfhYjP2g .active2,#mermaid-svg-YcZu0V7VpfhYjP2g .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-YcZu0V7VpfhYjP2g .activeText0,#mermaid-svg-YcZu0V7VpfhYjP2g .activeText1,#mermaid-svg-YcZu0V7VpfhYjP2g .activeText2,#mermaid-svg-YcZu0V7VpfhYjP2g .activeText3{fill:#000 !important}#mermaid-svg-YcZu0V7VpfhYjP2g .done0,#mermaid-svg-YcZu0V7VpfhYjP2g .done1,#mermaid-svg-YcZu0V7VpfhYjP2g .done2,#mermaid-svg-YcZu0V7VpfhYjP2g .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-YcZu0V7VpfhYjP2g .doneText0,#mermaid-svg-YcZu0V7VpfhYjP2g .doneText1,#mermaid-svg-YcZu0V7VpfhYjP2g .doneText2,#mermaid-svg-YcZu0V7VpfhYjP2g .doneText3{fill:#000 !important}#mermaid-svg-YcZu0V7VpfhYjP2g .crit0,#mermaid-svg-YcZu0V7VpfhYjP2g .crit1,#mermaid-svg-YcZu0V7VpfhYjP2g .crit2,#mermaid-svg-YcZu0V7VpfhYjP2g .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-YcZu0V7VpfhYjP2g .activeCrit0,#mermaid-svg-YcZu0V7VpfhYjP2g .activeCrit1,#mermaid-svg-YcZu0V7VpfhYjP2g .activeCrit2,#mermaid-svg-YcZu0V7VpfhYjP2g .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-YcZu0V7VpfhYjP2g .doneCrit0,#mermaid-svg-YcZu0V7VpfhYjP2g .doneCrit1,#mermaid-svg-YcZu0V7VpfhYjP2g .doneCrit2,#mermaid-svg-YcZu0V7VpfhYjP2g .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-YcZu0V7VpfhYjP2g .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-YcZu0V7VpfhYjP2g .milestoneText{font-style:italic}#mermaid-svg-YcZu0V7VpfhYjP2g .doneCritText0,#mermaid-svg-YcZu0V7VpfhYjP2g .doneCritText1,#mermaid-svg-YcZu0V7VpfhYjP2g .doneCritText2,#mermaid-svg-YcZu0V7VpfhYjP2g .doneCritText3{fill:#000 !important}#mermaid-svg-YcZu0V7VpfhYjP2g .activeCritText0,#mermaid-svg-YcZu0V7VpfhYjP2g .activeCritText1,#mermaid-svg-YcZu0V7VpfhYjP2g .activeCritText2,#mermaid-svg-YcZu0V7VpfhYjP2g .activeCritText3{fill:#000 !important}#mermaid-svg-YcZu0V7VpfhYjP2g .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-YcZu0V7VpfhYjP2g g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-YcZu0V7VpfhYjP2g g.classGroup text .title{font-weight:bolder}#mermaid-svg-YcZu0V7VpfhYjP2g g.clickable{cursor:pointer}#mermaid-svg-YcZu0V7VpfhYjP2g g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-YcZu0V7VpfhYjP2g g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-YcZu0V7VpfhYjP2g .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-YcZu0V7VpfhYjP2g .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-YcZu0V7VpfhYjP2g .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-YcZu0V7VpfhYjP2g .dashed-line{stroke-dasharray:3}#mermaid-svg-YcZu0V7VpfhYjP2g #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-YcZu0V7VpfhYjP2g #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-YcZu0V7VpfhYjP2g #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-YcZu0V7VpfhYjP2g #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-YcZu0V7VpfhYjP2g #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-YcZu0V7VpfhYjP2g #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-YcZu0V7VpfhYjP2g #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-YcZu0V7VpfhYjP2g #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-YcZu0V7VpfhYjP2g .commit-id,#mermaid-svg-YcZu0V7VpfhYjP2g .commit-msg,#mermaid-svg-YcZu0V7VpfhYjP2g .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-YcZu0V7VpfhYjP2g .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-YcZu0V7VpfhYjP2g .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-YcZu0V7VpfhYjP2g g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-YcZu0V7VpfhYjP2g g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-YcZu0V7VpfhYjP2g g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-YcZu0V7VpfhYjP2g g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-YcZu0V7VpfhYjP2g g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-YcZu0V7VpfhYjP2g g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-YcZu0V7VpfhYjP2g .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-YcZu0V7VpfhYjP2g .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-YcZu0V7VpfhYjP2g .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-YcZu0V7VpfhYjP2g .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-YcZu0V7VpfhYjP2g .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-YcZu0V7VpfhYjP2g .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-YcZu0V7VpfhYjP2g .edgeLabel text{fill:#333}#mermaid-svg-YcZu0V7VpfhYjP2g .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-YcZu0V7VpfhYjP2g .node circle.state-start{fill:black;stroke:black}#mermaid-svg-YcZu0V7VpfhYjP2g .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-YcZu0V7VpfhYjP2g #statediagram-barbEnd{fill:#9370db}#mermaid-svg-YcZu0V7VpfhYjP2g .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-YcZu0V7VpfhYjP2g .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-YcZu0V7VpfhYjP2g .statediagram-state .divider{stroke:#9370db}#mermaid-svg-YcZu0V7VpfhYjP2g .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-YcZu0V7VpfhYjP2g .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-YcZu0V7VpfhYjP2g .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-YcZu0V7VpfhYjP2g .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-YcZu0V7VpfhYjP2g .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-YcZu0V7VpfhYjP2g .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-YcZu0V7VpfhYjP2g .note-edge{stroke-dasharray:5}#mermaid-svg-YcZu0V7VpfhYjP2g .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-YcZu0V7VpfhYjP2g .error-icon{fill:#522}#mermaid-svg-YcZu0V7VpfhYjP2g .error-text{fill:#522;stroke:#522}#mermaid-svg-YcZu0V7VpfhYjP2g .edge-thickness-normal{stroke-width:2px}#mermaid-svg-YcZu0V7VpfhYjP2g .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-YcZu0V7VpfhYjP2g .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-YcZu0V7VpfhYjP2g .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-YcZu0V7VpfhYjP2g .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-YcZu0V7VpfhYjP2g .marker{fill:#333}#mermaid-svg-YcZu0V7VpfhYjP2g .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-YcZu0V7VpfhYjP2g {color: rgba(0, 0, 0, 0.75);font: ;}
继承DBMS字符集
继承数据库字符集
继承数据表字符集
服务器数据管理
DBMS系统
安装配置字符集
数据库
设定字符集
数据表
设定字符集
数据字段
设定字符集
- 服务端存储的数据最终字符集由字段确定
- 字段通常不会设置字符集,继承表的字符集(统一性,真正一般都与数据库一致)
- 数据存储的字符集与客户端的字符集没有直接关系,是由 表(字段) 决定
2、客户端存储数据原理
#mermaid-svg-XehJAaMCx1COxKMM .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-XehJAaMCx1COxKMM .label text{fill:#333}#mermaid-svg-XehJAaMCx1COxKMM .node rect,#mermaid-svg-XehJAaMCx1COxKMM .node circle,#mermaid-svg-XehJAaMCx1COxKMM .node ellipse,#mermaid-svg-XehJAaMCx1COxKMM .node polygon,#mermaid-svg-XehJAaMCx1COxKMM .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-XehJAaMCx1COxKMM .node .label{text-align:center;fill:#333}#mermaid-svg-XehJAaMCx1COxKMM .node.clickable{cursor:pointer}#mermaid-svg-XehJAaMCx1COxKMM .arrowheadPath{fill:#333}#mermaid-svg-XehJAaMCx1COxKMM .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-XehJAaMCx1COxKMM .flowchart-link{stroke:#333;fill:none}#mermaid-svg-XehJAaMCx1COxKMM .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-XehJAaMCx1COxKMM .edgeLabel rect{opacity:0.9}#mermaid-svg-XehJAaMCx1COxKMM .edgeLabel span{color:#333}#mermaid-svg-XehJAaMCx1COxKMM .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-XehJAaMCx1COxKMM .cluster text{fill:#333}#mermaid-svg-XehJAaMCx1COxKMM div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-XehJAaMCx1COxKMM .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-XehJAaMCx1COxKMM text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-XehJAaMCx1COxKMM .actor-line{stroke:grey}#mermaid-svg-XehJAaMCx1COxKMM .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-XehJAaMCx1COxKMM .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-XehJAaMCx1COxKMM #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-XehJAaMCx1COxKMM .sequenceNumber{fill:#fff}#mermaid-svg-XehJAaMCx1COxKMM #sequencenumber{fill:#333}#mermaid-svg-XehJAaMCx1COxKMM #crosshead path{fill:#333;stroke:#333}#mermaid-svg-XehJAaMCx1COxKMM .messageText{fill:#333;stroke:#333}#mermaid-svg-XehJAaMCx1COxKMM .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-XehJAaMCx1COxKMM .labelText,#mermaid-svg-XehJAaMCx1COxKMM .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-XehJAaMCx1COxKMM .loopText,#mermaid-svg-XehJAaMCx1COxKMM .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-XehJAaMCx1COxKMM .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-XehJAaMCx1COxKMM .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-XehJAaMCx1COxKMM .noteText,#mermaid-svg-XehJAaMCx1COxKMM .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-XehJAaMCx1COxKMM .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-XehJAaMCx1COxKMM .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-XehJAaMCx1COxKMM .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-XehJAaMCx1COxKMM .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-XehJAaMCx1COxKMM .section{stroke:none;opacity:0.2}#mermaid-svg-XehJAaMCx1COxKMM .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-XehJAaMCx1COxKMM .section2{fill:#fff400}#mermaid-svg-XehJAaMCx1COxKMM .section1,#mermaid-svg-XehJAaMCx1COxKMM .section3{fill:#fff;opacity:0.2}#mermaid-svg-XehJAaMCx1COxKMM .sectionTitle0{fill:#333}#mermaid-svg-XehJAaMCx1COxKMM .sectionTitle1{fill:#333}#mermaid-svg-XehJAaMCx1COxKMM .sectionTitle2{fill:#333}#mermaid-svg-XehJAaMCx1COxKMM .sectionTitle3{fill:#333}#mermaid-svg-XehJAaMCx1COxKMM .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-XehJAaMCx1COxKMM .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-XehJAaMCx1COxKMM .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-XehJAaMCx1COxKMM .grid path{stroke-width:0}#mermaid-svg-XehJAaMCx1COxKMM .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-XehJAaMCx1COxKMM .task{stroke-width:2}#mermaid-svg-XehJAaMCx1COxKMM .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-XehJAaMCx1COxKMM .taskText:not([font-size]){font-size:11px}#mermaid-svg-XehJAaMCx1COxKMM .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-XehJAaMCx1COxKMM .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-XehJAaMCx1COxKMM .task.clickable{cursor:pointer}#mermaid-svg-XehJAaMCx1COxKMM .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-XehJAaMCx1COxKMM .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-XehJAaMCx1COxKMM .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-XehJAaMCx1COxKMM .taskText0,#mermaid-svg-XehJAaMCx1COxKMM .taskText1,#mermaid-svg-XehJAaMCx1COxKMM .taskText2,#mermaid-svg-XehJAaMCx1COxKMM .taskText3{fill:#fff}#mermaid-svg-XehJAaMCx1COxKMM .task0,#mermaid-svg-XehJAaMCx1COxKMM .task1,#mermaid-svg-XehJAaMCx1COxKMM .task2,#mermaid-svg-XehJAaMCx1COxKMM .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-XehJAaMCx1COxKMM .taskTextOutside0,#mermaid-svg-XehJAaMCx1COxKMM .taskTextOutside2{fill:#000}#mermaid-svg-XehJAaMCx1COxKMM .taskTextOutside1,#mermaid-svg-XehJAaMCx1COxKMM .taskTextOutside3{fill:#000}#mermaid-svg-XehJAaMCx1COxKMM .active0,#mermaid-svg-XehJAaMCx1COxKMM .active1,#mermaid-svg-XehJAaMCx1COxKMM .active2,#mermaid-svg-XehJAaMCx1COxKMM .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-XehJAaMCx1COxKMM .activeText0,#mermaid-svg-XehJAaMCx1COxKMM .activeText1,#mermaid-svg-XehJAaMCx1COxKMM .activeText2,#mermaid-svg-XehJAaMCx1COxKMM .activeText3{fill:#000 !important}#mermaid-svg-XehJAaMCx1COxKMM .done0,#mermaid-svg-XehJAaMCx1COxKMM .done1,#mermaid-svg-XehJAaMCx1COxKMM .done2,#mermaid-svg-XehJAaMCx1COxKMM .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-XehJAaMCx1COxKMM .doneText0,#mermaid-svg-XehJAaMCx1COxKMM .doneText1,#mermaid-svg-XehJAaMCx1COxKMM .doneText2,#mermaid-svg-XehJAaMCx1COxKMM .doneText3{fill:#000 !important}#mermaid-svg-XehJAaMCx1COxKMM .crit0,#mermaid-svg-XehJAaMCx1COxKMM .crit1,#mermaid-svg-XehJAaMCx1COxKMM .crit2,#mermaid-svg-XehJAaMCx1COxKMM .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-XehJAaMCx1COxKMM .activeCrit0,#mermaid-svg-XehJAaMCx1COxKMM .activeCrit1,#mermaid-svg-XehJAaMCx1COxKMM .activeCrit2,#mermaid-svg-XehJAaMCx1COxKMM .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-XehJAaMCx1COxKMM .doneCrit0,#mermaid-svg-XehJAaMCx1COxKMM .doneCrit1,#mermaid-svg-XehJAaMCx1COxKMM .doneCrit2,#mermaid-svg-XehJAaMCx1COxKMM .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-XehJAaMCx1COxKMM .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-XehJAaMCx1COxKMM .milestoneText{font-style:italic}#mermaid-svg-XehJAaMCx1COxKMM .doneCritText0,#mermaid-svg-XehJAaMCx1COxKMM .doneCritText1,#mermaid-svg-XehJAaMCx1COxKMM .doneCritText2,#mermaid-svg-XehJAaMCx1COxKMM .doneCritText3{fill:#000 !important}#mermaid-svg-XehJAaMCx1COxKMM .activeCritText0,#mermaid-svg-XehJAaMCx1COxKMM .activeCritText1,#mermaid-svg-XehJAaMCx1COxKMM .activeCritText2,#mermaid-svg-XehJAaMCx1COxKMM .activeCritText3{fill:#000 !important}#mermaid-svg-XehJAaMCx1COxKMM .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-XehJAaMCx1COxKMM g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-XehJAaMCx1COxKMM g.classGroup text .title{font-weight:bolder}#mermaid-svg-XehJAaMCx1COxKMM g.clickable{cursor:pointer}#mermaid-svg-XehJAaMCx1COxKMM g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-XehJAaMCx1COxKMM g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-XehJAaMCx1COxKMM .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-XehJAaMCx1COxKMM .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-XehJAaMCx1COxKMM .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-XehJAaMCx1COxKMM .dashed-line{stroke-dasharray:3}#mermaid-svg-XehJAaMCx1COxKMM #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-XehJAaMCx1COxKMM #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-XehJAaMCx1COxKMM #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-XehJAaMCx1COxKMM #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-XehJAaMCx1COxKMM #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-XehJAaMCx1COxKMM #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-XehJAaMCx1COxKMM #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-XehJAaMCx1COxKMM #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-XehJAaMCx1COxKMM .commit-id,#mermaid-svg-XehJAaMCx1COxKMM .commit-msg,#mermaid-svg-XehJAaMCx1COxKMM .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-XehJAaMCx1COxKMM .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-XehJAaMCx1COxKMM .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-XehJAaMCx1COxKMM g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-XehJAaMCx1COxKMM g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-XehJAaMCx1COxKMM g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-XehJAaMCx1COxKMM g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-XehJAaMCx1COxKMM g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-XehJAaMCx1COxKMM g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-XehJAaMCx1COxKMM .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-XehJAaMCx1COxKMM .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-XehJAaMCx1COxKMM .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-XehJAaMCx1COxKMM .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-XehJAaMCx1COxKMM .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-XehJAaMCx1COxKMM .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-XehJAaMCx1COxKMM .edgeLabel text{fill:#333}#mermaid-svg-XehJAaMCx1COxKMM .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-XehJAaMCx1COxKMM .node circle.state-start{fill:black;stroke:black}#mermaid-svg-XehJAaMCx1COxKMM .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-XehJAaMCx1COxKMM #statediagram-barbEnd{fill:#9370db}#mermaid-svg-XehJAaMCx1COxKMM .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-XehJAaMCx1COxKMM .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-XehJAaMCx1COxKMM .statediagram-state .divider{stroke:#9370db}#mermaid-svg-XehJAaMCx1COxKMM .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-XehJAaMCx1COxKMM .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-XehJAaMCx1COxKMM .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-XehJAaMCx1COxKMM .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-XehJAaMCx1COxKMM .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-XehJAaMCx1COxKMM .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-XehJAaMCx1COxKMM .note-edge{stroke-dasharray:5}#mermaid-svg-XehJAaMCx1COxKMM .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-XehJAaMCx1COxKMM .error-icon{fill:#522}#mermaid-svg-XehJAaMCx1COxKMM .error-text{fill:#522;stroke:#522}#mermaid-svg-XehJAaMCx1COxKMM .edge-thickness-normal{stroke-width:2px}#mermaid-svg-XehJAaMCx1COxKMM .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-XehJAaMCx1COxKMM .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-XehJAaMCx1COxKMM .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-XehJAaMCx1COxKMM .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-XehJAaMCx1COxKMM .marker{fill:#333}#mermaid-svg-XehJAaMCx1COxKMM .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-XehJAaMCx1COxKMM {color: rgba(0, 0, 0, 0.75);font: ;}
提前告知服务端客户端数据字符集
如不告知-服务器使用默认设置
客户端录入数据
数据自带字符集
发送服务端
服务端接收数据
执行存储操作
转码为目标字符集
存储
3、客户端读取数据原理
#mermaid-svg-sskwkfjhsTj0oZtF .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-sskwkfjhsTj0oZtF .label text{fill:#333}#mermaid-svg-sskwkfjhsTj0oZtF .node rect,#mermaid-svg-sskwkfjhsTj0oZtF .node circle,#mermaid-svg-sskwkfjhsTj0oZtF .node ellipse,#mermaid-svg-sskwkfjhsTj0oZtF .node polygon,#mermaid-svg-sskwkfjhsTj0oZtF .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-sskwkfjhsTj0oZtF .node .label{text-align:center;fill:#333}#mermaid-svg-sskwkfjhsTj0oZtF .node.clickable{cursor:pointer}#mermaid-svg-sskwkfjhsTj0oZtF .arrowheadPath{fill:#333}#mermaid-svg-sskwkfjhsTj0oZtF .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-sskwkfjhsTj0oZtF .flowchart-link{stroke:#333;fill:none}#mermaid-svg-sskwkfjhsTj0oZtF .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-sskwkfjhsTj0oZtF .edgeLabel rect{opacity:0.9}#mermaid-svg-sskwkfjhsTj0oZtF .edgeLabel span{color:#333}#mermaid-svg-sskwkfjhsTj0oZtF .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-sskwkfjhsTj0oZtF .cluster text{fill:#333}#mermaid-svg-sskwkfjhsTj0oZtF div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-sskwkfjhsTj0oZtF .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-sskwkfjhsTj0oZtF text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-sskwkfjhsTj0oZtF .actor-line{stroke:grey}#mermaid-svg-sskwkfjhsTj0oZtF .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-sskwkfjhsTj0oZtF .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-sskwkfjhsTj0oZtF #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-sskwkfjhsTj0oZtF .sequenceNumber{fill:#fff}#mermaid-svg-sskwkfjhsTj0oZtF #sequencenumber{fill:#333}#mermaid-svg-sskwkfjhsTj0oZtF #crosshead path{fill:#333;stroke:#333}#mermaid-svg-sskwkfjhsTj0oZtF .messageText{fill:#333;stroke:#333}#mermaid-svg-sskwkfjhsTj0oZtF .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-sskwkfjhsTj0oZtF .labelText,#mermaid-svg-sskwkfjhsTj0oZtF .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-sskwkfjhsTj0oZtF .loopText,#mermaid-svg-sskwkfjhsTj0oZtF .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-sskwkfjhsTj0oZtF .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-sskwkfjhsTj0oZtF .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-sskwkfjhsTj0oZtF .noteText,#mermaid-svg-sskwkfjhsTj0oZtF .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-sskwkfjhsTj0oZtF .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-sskwkfjhsTj0oZtF .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-sskwkfjhsTj0oZtF .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-sskwkfjhsTj0oZtF .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-sskwkfjhsTj0oZtF .section{stroke:none;opacity:0.2}#mermaid-svg-sskwkfjhsTj0oZtF .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-sskwkfjhsTj0oZtF .section2{fill:#fff400}#mermaid-svg-sskwkfjhsTj0oZtF .section1,#mermaid-svg-sskwkfjhsTj0oZtF .section3{fill:#fff;opacity:0.2}#mermaid-svg-sskwkfjhsTj0oZtF .sectionTitle0{fill:#333}#mermaid-svg-sskwkfjhsTj0oZtF .sectionTitle1{fill:#333}#mermaid-svg-sskwkfjhsTj0oZtF .sectionTitle2{fill:#333}#mermaid-svg-sskwkfjhsTj0oZtF .sectionTitle3{fill:#333}#mermaid-svg-sskwkfjhsTj0oZtF .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-sskwkfjhsTj0oZtF .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-sskwkfjhsTj0oZtF .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-sskwkfjhsTj0oZtF .grid path{stroke-width:0}#mermaid-svg-sskwkfjhsTj0oZtF .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-sskwkfjhsTj0oZtF .task{stroke-width:2}#mermaid-svg-sskwkfjhsTj0oZtF .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-sskwkfjhsTj0oZtF .taskText:not([font-size]){font-size:11px}#mermaid-svg-sskwkfjhsTj0oZtF .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-sskwkfjhsTj0oZtF .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-sskwkfjhsTj0oZtF .task.clickable{cursor:pointer}#mermaid-svg-sskwkfjhsTj0oZtF .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-sskwkfjhsTj0oZtF .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-sskwkfjhsTj0oZtF .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-sskwkfjhsTj0oZtF .taskText0,#mermaid-svg-sskwkfjhsTj0oZtF .taskText1,#mermaid-svg-sskwkfjhsTj0oZtF .taskText2,#mermaid-svg-sskwkfjhsTj0oZtF .taskText3{fill:#fff}#mermaid-svg-sskwkfjhsTj0oZtF .task0,#mermaid-svg-sskwkfjhsTj0oZtF .task1,#mermaid-svg-sskwkfjhsTj0oZtF .task2,#mermaid-svg-sskwkfjhsTj0oZtF .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-sskwkfjhsTj0oZtF .taskTextOutside0,#mermaid-svg-sskwkfjhsTj0oZtF .taskTextOutside2{fill:#000}#mermaid-svg-sskwkfjhsTj0oZtF .taskTextOutside1,#mermaid-svg-sskwkfjhsTj0oZtF .taskTextOutside3{fill:#000}#mermaid-svg-sskwkfjhsTj0oZtF .active0,#mermaid-svg-sskwkfjhsTj0oZtF .active1,#mermaid-svg-sskwkfjhsTj0oZtF .active2,#mermaid-svg-sskwkfjhsTj0oZtF .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-sskwkfjhsTj0oZtF .activeText0,#mermaid-svg-sskwkfjhsTj0oZtF .activeText1,#mermaid-svg-sskwkfjhsTj0oZtF .activeText2,#mermaid-svg-sskwkfjhsTj0oZtF .activeText3{fill:#000 !important}#mermaid-svg-sskwkfjhsTj0oZtF .done0,#mermaid-svg-sskwkfjhsTj0oZtF .done1,#mermaid-svg-sskwkfjhsTj0oZtF .done2,#mermaid-svg-sskwkfjhsTj0oZtF .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-sskwkfjhsTj0oZtF .doneText0,#mermaid-svg-sskwkfjhsTj0oZtF .doneText1,#mermaid-svg-sskwkfjhsTj0oZtF .doneText2,#mermaid-svg-sskwkfjhsTj0oZtF .doneText3{fill:#000 !important}#mermaid-svg-sskwkfjhsTj0oZtF .crit0,#mermaid-svg-sskwkfjhsTj0oZtF .crit1,#mermaid-svg-sskwkfjhsTj0oZtF .crit2,#mermaid-svg-sskwkfjhsTj0oZtF .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-sskwkfjhsTj0oZtF .activeCrit0,#mermaid-svg-sskwkfjhsTj0oZtF .activeCrit1,#mermaid-svg-sskwkfjhsTj0oZtF .activeCrit2,#mermaid-svg-sskwkfjhsTj0oZtF .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-sskwkfjhsTj0oZtF .doneCrit0,#mermaid-svg-sskwkfjhsTj0oZtF .doneCrit1,#mermaid-svg-sskwkfjhsTj0oZtF .doneCrit2,#mermaid-svg-sskwkfjhsTj0oZtF .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-sskwkfjhsTj0oZtF .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-sskwkfjhsTj0oZtF .milestoneText{font-style:italic}#mermaid-svg-sskwkfjhsTj0oZtF .doneCritText0,#mermaid-svg-sskwkfjhsTj0oZtF .doneCritText1,#mermaid-svg-sskwkfjhsTj0oZtF .doneCritText2,#mermaid-svg-sskwkfjhsTj0oZtF .doneCritText3{fill:#000 !important}#mermaid-svg-sskwkfjhsTj0oZtF .activeCritText0,#mermaid-svg-sskwkfjhsTj0oZtF .activeCritText1,#mermaid-svg-sskwkfjhsTj0oZtF .activeCritText2,#mermaid-svg-sskwkfjhsTj0oZtF .activeCritText3{fill:#000 !important}#mermaid-svg-sskwkfjhsTj0oZtF .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-sskwkfjhsTj0oZtF g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-sskwkfjhsTj0oZtF g.classGroup text .title{font-weight:bolder}#mermaid-svg-sskwkfjhsTj0oZtF g.clickable{cursor:pointer}#mermaid-svg-sskwkfjhsTj0oZtF g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-sskwkfjhsTj0oZtF g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-sskwkfjhsTj0oZtF .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-sskwkfjhsTj0oZtF .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-sskwkfjhsTj0oZtF .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-sskwkfjhsTj0oZtF .dashed-line{stroke-dasharray:3}#mermaid-svg-sskwkfjhsTj0oZtF #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-sskwkfjhsTj0oZtF #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-sskwkfjhsTj0oZtF #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-sskwkfjhsTj0oZtF #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-sskwkfjhsTj0oZtF #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-sskwkfjhsTj0oZtF #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-sskwkfjhsTj0oZtF #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-sskwkfjhsTj0oZtF #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-sskwkfjhsTj0oZtF .commit-id,#mermaid-svg-sskwkfjhsTj0oZtF .commit-msg,#mermaid-svg-sskwkfjhsTj0oZtF .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-sskwkfjhsTj0oZtF .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-sskwkfjhsTj0oZtF .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-sskwkfjhsTj0oZtF g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-sskwkfjhsTj0oZtF g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-sskwkfjhsTj0oZtF g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-sskwkfjhsTj0oZtF g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-sskwkfjhsTj0oZtF g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-sskwkfjhsTj0oZtF g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-sskwkfjhsTj0oZtF .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-sskwkfjhsTj0oZtF .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-sskwkfjhsTj0oZtF .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-sskwkfjhsTj0oZtF .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-sskwkfjhsTj0oZtF .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-sskwkfjhsTj0oZtF .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-sskwkfjhsTj0oZtF .edgeLabel text{fill:#333}#mermaid-svg-sskwkfjhsTj0oZtF .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-sskwkfjhsTj0oZtF .node circle.state-start{fill:black;stroke:black}#mermaid-svg-sskwkfjhsTj0oZtF .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-sskwkfjhsTj0oZtF #statediagram-barbEnd{fill:#9370db}#mermaid-svg-sskwkfjhsTj0oZtF .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-sskwkfjhsTj0oZtF .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-sskwkfjhsTj0oZtF .statediagram-state .divider{stroke:#9370db}#mermaid-svg-sskwkfjhsTj0oZtF .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-sskwkfjhsTj0oZtF .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-sskwkfjhsTj0oZtF .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-sskwkfjhsTj0oZtF .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-sskwkfjhsTj0oZtF .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-sskwkfjhsTj0oZtF .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-sskwkfjhsTj0oZtF .note-edge{stroke-dasharray:5}#mermaid-svg-sskwkfjhsTj0oZtF .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-sskwkfjhsTj0oZtF .error-icon{fill:#522}#mermaid-svg-sskwkfjhsTj0oZtF .error-text{fill:#522;stroke:#522}#mermaid-svg-sskwkfjhsTj0oZtF .edge-thickness-normal{stroke-width:2px}#mermaid-svg-sskwkfjhsTj0oZtF .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-sskwkfjhsTj0oZtF .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-sskwkfjhsTj0oZtF .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-sskwkfjhsTj0oZtF .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-sskwkfjhsTj0oZtF .marker{fill:#333}#mermaid-svg-sskwkfjhsTj0oZtF .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-sskwkfjhsTj0oZtF {color: rgba(0, 0, 0, 0.75);font: ;}
提前告知服务端客户端数据字符集
如不告知-服务器使用默认设置
客户端录入获取指令
发送服务端
服务器接收请求
执行获取指令
按照数据存储本身字符集获取
转成客户端字符集数据
返回客户端
客户端解析
只能按照自己的字符集解析
小结
1、MySQL服务端数据存储的字符集依赖各个对象设置
- DBMS:设置最广,一旦设置所有对象都可以依赖,但是优先级最低
- DB:针对数据库内的所有表,优先级高于DBMS,可以继承DBMS(一般在数据库层设置)
- Table:针对当前表的设置,优先级高于DB,可以继承DB
- Field:针对当前字段设置,优先级高于Table,可以继承Table,优先级最高
2、通常字符集的设置都是围绕数据表(现在都在数据库层),不会到具体字段
3、建议使用UTF8字符集存储数据(MySQL8以后建议使用UTF8MB4)
4、MySQL服务端支持各种字符集,并且能够进行各种字符集转换
5、客户端存储数据到服务端原理
- 客户端告知服务端客户端的字符集
- 服务端按照客户端指定的字符集接收数据(如果没有指定,使用默认,可能出现乱码)
- 服务端按照实际存储表对应的字符集进行转换
- 服务端存储数据
6、客户端读取数据从服务端原理
- 客户端告知服务端客户端的字符集
- 服务端按照客户指定的指令从数据库读取原始字符集数据
- 服务端按照客户端的需求将数据进行字符转换
- 服务端发送目标数据给客户端
- 客户端按照自己的字符集进行解析
乱码问题解决
乱码:指数据不能按照正确的字符集进行存储或解析
- 乱码原因1:数据在存储的时候已经变成乱码
- 客户端字符集与服务端解析字符集不一致
- 读取时想转成其他字符集均会错误
- 乱码原因2:数据存储时正确,但是读取时解析成错误字符集
- 乱码解决方案:不论存储还是读取,都提前告知服务器当前客户端的字符集
告知字符集语法:set names 客户端字符集;
1、MySQL客户端(CMD打开),客户端字符集是固定的GBK
set names gbk;
流程图:
#mermaid-svg-zIyPUrFNNGCeO8rZ .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-zIyPUrFNNGCeO8rZ .label text{fill:#333}#mermaid-svg-zIyPUrFNNGCeO8rZ .node rect,#mermaid-svg-zIyPUrFNNGCeO8rZ .node circle,#mermaid-svg-zIyPUrFNNGCeO8rZ .node ellipse,#mermaid-svg-zIyPUrFNNGCeO8rZ .node polygon,#mermaid-svg-zIyPUrFNNGCeO8rZ .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-zIyPUrFNNGCeO8rZ .node .label{text-align:center;fill:#333}#mermaid-svg-zIyPUrFNNGCeO8rZ .node.clickable{cursor:pointer}#mermaid-svg-zIyPUrFNNGCeO8rZ .arrowheadPath{fill:#333}#mermaid-svg-zIyPUrFNNGCeO8rZ .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-zIyPUrFNNGCeO8rZ .flowchart-link{stroke:#333;fill:none}#mermaid-svg-zIyPUrFNNGCeO8rZ .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-zIyPUrFNNGCeO8rZ .edgeLabel rect{opacity:0.9}#mermaid-svg-zIyPUrFNNGCeO8rZ .edgeLabel span{color:#333}#mermaid-svg-zIyPUrFNNGCeO8rZ .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-zIyPUrFNNGCeO8rZ .cluster text{fill:#333}#mermaid-svg-zIyPUrFNNGCeO8rZ div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-zIyPUrFNNGCeO8rZ .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-zIyPUrFNNGCeO8rZ text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-zIyPUrFNNGCeO8rZ .actor-line{stroke:grey}#mermaid-svg-zIyPUrFNNGCeO8rZ .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-zIyPUrFNNGCeO8rZ .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-zIyPUrFNNGCeO8rZ #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-zIyPUrFNNGCeO8rZ .sequenceNumber{fill:#fff}#mermaid-svg-zIyPUrFNNGCeO8rZ #sequencenumber{fill:#333}#mermaid-svg-zIyPUrFNNGCeO8rZ #crosshead path{fill:#333;stroke:#333}#mermaid-svg-zIyPUrFNNGCeO8rZ .messageText{fill:#333;stroke:#333}#mermaid-svg-zIyPUrFNNGCeO8rZ .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-zIyPUrFNNGCeO8rZ .labelText,#mermaid-svg-zIyPUrFNNGCeO8rZ .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-zIyPUrFNNGCeO8rZ .loopText,#mermaid-svg-zIyPUrFNNGCeO8rZ .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-zIyPUrFNNGCeO8rZ .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-zIyPUrFNNGCeO8rZ .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-zIyPUrFNNGCeO8rZ .noteText,#mermaid-svg-zIyPUrFNNGCeO8rZ .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-zIyPUrFNNGCeO8rZ .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-zIyPUrFNNGCeO8rZ .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-zIyPUrFNNGCeO8rZ .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-zIyPUrFNNGCeO8rZ .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-zIyPUrFNNGCeO8rZ .section{stroke:none;opacity:0.2}#mermaid-svg-zIyPUrFNNGCeO8rZ .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-zIyPUrFNNGCeO8rZ .section2{fill:#fff400}#mermaid-svg-zIyPUrFNNGCeO8rZ .section1,#mermaid-svg-zIyPUrFNNGCeO8rZ .section3{fill:#fff;opacity:0.2}#mermaid-svg-zIyPUrFNNGCeO8rZ .sectionTitle0{fill:#333}#mermaid-svg-zIyPUrFNNGCeO8rZ .sectionTitle1{fill:#333}#mermaid-svg-zIyPUrFNNGCeO8rZ .sectionTitle2{fill:#333}#mermaid-svg-zIyPUrFNNGCeO8rZ .sectionTitle3{fill:#333}#mermaid-svg-zIyPUrFNNGCeO8rZ .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-zIyPUrFNNGCeO8rZ .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-zIyPUrFNNGCeO8rZ .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-zIyPUrFNNGCeO8rZ .grid path{stroke-width:0}#mermaid-svg-zIyPUrFNNGCeO8rZ .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-zIyPUrFNNGCeO8rZ .task{stroke-width:2}#mermaid-svg-zIyPUrFNNGCeO8rZ .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-zIyPUrFNNGCeO8rZ .taskText:not([font-size]){font-size:11px}#mermaid-svg-zIyPUrFNNGCeO8rZ .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-zIyPUrFNNGCeO8rZ .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-zIyPUrFNNGCeO8rZ .task.clickable{cursor:pointer}#mermaid-svg-zIyPUrFNNGCeO8rZ .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-zIyPUrFNNGCeO8rZ .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-zIyPUrFNNGCeO8rZ .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-zIyPUrFNNGCeO8rZ .taskText0,#mermaid-svg-zIyPUrFNNGCeO8rZ .taskText1,#mermaid-svg-zIyPUrFNNGCeO8rZ .taskText2,#mermaid-svg-zIyPUrFNNGCeO8rZ .taskText3{fill:#fff}#mermaid-svg-zIyPUrFNNGCeO8rZ .task0,#mermaid-svg-zIyPUrFNNGCeO8rZ .task1,#mermaid-svg-zIyPUrFNNGCeO8rZ .task2,#mermaid-svg-zIyPUrFNNGCeO8rZ .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-zIyPUrFNNGCeO8rZ .taskTextOutside0,#mermaid-svg-zIyPUrFNNGCeO8rZ .taskTextOutside2{fill:#000}#mermaid-svg-zIyPUrFNNGCeO8rZ .taskTextOutside1,#mermaid-svg-zIyPUrFNNGCeO8rZ .taskTextOutside3{fill:#000}#mermaid-svg-zIyPUrFNNGCeO8rZ .active0,#mermaid-svg-zIyPUrFNNGCeO8rZ .active1,#mermaid-svg-zIyPUrFNNGCeO8rZ .active2,#mermaid-svg-zIyPUrFNNGCeO8rZ .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-zIyPUrFNNGCeO8rZ .activeText0,#mermaid-svg-zIyPUrFNNGCeO8rZ .activeText1,#mermaid-svg-zIyPUrFNNGCeO8rZ .activeText2,#mermaid-svg-zIyPUrFNNGCeO8rZ .activeText3{fill:#000 !important}#mermaid-svg-zIyPUrFNNGCeO8rZ .done0,#mermaid-svg-zIyPUrFNNGCeO8rZ .done1,#mermaid-svg-zIyPUrFNNGCeO8rZ .done2,#mermaid-svg-zIyPUrFNNGCeO8rZ .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-zIyPUrFNNGCeO8rZ .doneText0,#mermaid-svg-zIyPUrFNNGCeO8rZ .doneText1,#mermaid-svg-zIyPUrFNNGCeO8rZ .doneText2,#mermaid-svg-zIyPUrFNNGCeO8rZ .doneText3{fill:#000 !important}#mermaid-svg-zIyPUrFNNGCeO8rZ .crit0,#mermaid-svg-zIyPUrFNNGCeO8rZ .crit1,#mermaid-svg-zIyPUrFNNGCeO8rZ .crit2,#mermaid-svg-zIyPUrFNNGCeO8rZ .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-zIyPUrFNNGCeO8rZ .activeCrit0,#mermaid-svg-zIyPUrFNNGCeO8rZ .activeCrit1,#mermaid-svg-zIyPUrFNNGCeO8rZ .activeCrit2,#mermaid-svg-zIyPUrFNNGCeO8rZ .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-zIyPUrFNNGCeO8rZ .doneCrit0,#mermaid-svg-zIyPUrFNNGCeO8rZ .doneCrit1,#mermaid-svg-zIyPUrFNNGCeO8rZ .doneCrit2,#mermaid-svg-zIyPUrFNNGCeO8rZ .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-zIyPUrFNNGCeO8rZ .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-zIyPUrFNNGCeO8rZ .milestoneText{font-style:italic}#mermaid-svg-zIyPUrFNNGCeO8rZ .doneCritText0,#mermaid-svg-zIyPUrFNNGCeO8rZ .doneCritText1,#mermaid-svg-zIyPUrFNNGCeO8rZ .doneCritText2,#mermaid-svg-zIyPUrFNNGCeO8rZ .doneCritText3{fill:#000 !important}#mermaid-svg-zIyPUrFNNGCeO8rZ .activeCritText0,#mermaid-svg-zIyPUrFNNGCeO8rZ .activeCritText1,#mermaid-svg-zIyPUrFNNGCeO8rZ .activeCritText2,#mermaid-svg-zIyPUrFNNGCeO8rZ .activeCritText3{fill:#000 !important}#mermaid-svg-zIyPUrFNNGCeO8rZ .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-zIyPUrFNNGCeO8rZ g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-zIyPUrFNNGCeO8rZ g.classGroup text .title{font-weight:bolder}#mermaid-svg-zIyPUrFNNGCeO8rZ g.clickable{cursor:pointer}#mermaid-svg-zIyPUrFNNGCeO8rZ g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-zIyPUrFNNGCeO8rZ g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-zIyPUrFNNGCeO8rZ .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-zIyPUrFNNGCeO8rZ .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-zIyPUrFNNGCeO8rZ .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-zIyPUrFNNGCeO8rZ .dashed-line{stroke-dasharray:3}#mermaid-svg-zIyPUrFNNGCeO8rZ #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-zIyPUrFNNGCeO8rZ #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-zIyPUrFNNGCeO8rZ #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-zIyPUrFNNGCeO8rZ #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-zIyPUrFNNGCeO8rZ #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-zIyPUrFNNGCeO8rZ #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-zIyPUrFNNGCeO8rZ #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-zIyPUrFNNGCeO8rZ #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-zIyPUrFNNGCeO8rZ .commit-id,#mermaid-svg-zIyPUrFNNGCeO8rZ .commit-msg,#mermaid-svg-zIyPUrFNNGCeO8rZ .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-zIyPUrFNNGCeO8rZ .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-zIyPUrFNNGCeO8rZ .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-zIyPUrFNNGCeO8rZ g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-zIyPUrFNNGCeO8rZ g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-zIyPUrFNNGCeO8rZ g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-zIyPUrFNNGCeO8rZ g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-zIyPUrFNNGCeO8rZ g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-zIyPUrFNNGCeO8rZ g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-zIyPUrFNNGCeO8rZ .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-zIyPUrFNNGCeO8rZ .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-zIyPUrFNNGCeO8rZ .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-zIyPUrFNNGCeO8rZ .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-zIyPUrFNNGCeO8rZ .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-zIyPUrFNNGCeO8rZ .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-zIyPUrFNNGCeO8rZ .edgeLabel text{fill:#333}#mermaid-svg-zIyPUrFNNGCeO8rZ .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-zIyPUrFNNGCeO8rZ .node circle.state-start{fill:black;stroke:black}#mermaid-svg-zIyPUrFNNGCeO8rZ .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-zIyPUrFNNGCeO8rZ #statediagram-barbEnd{fill:#9370db}#mermaid-svg-zIyPUrFNNGCeO8rZ .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-zIyPUrFNNGCeO8rZ .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-zIyPUrFNNGCeO8rZ .statediagram-state .divider{stroke:#9370db}#mermaid-svg-zIyPUrFNNGCeO8rZ .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-zIyPUrFNNGCeO8rZ .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-zIyPUrFNNGCeO8rZ .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-zIyPUrFNNGCeO8rZ .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-zIyPUrFNNGCeO8rZ .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-zIyPUrFNNGCeO8rZ .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-zIyPUrFNNGCeO8rZ .note-edge{stroke-dasharray:5}#mermaid-svg-zIyPUrFNNGCeO8rZ .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-zIyPUrFNNGCeO8rZ .error-icon{fill:#522}#mermaid-svg-zIyPUrFNNGCeO8rZ .error-text{fill:#522;stroke:#522}#mermaid-svg-zIyPUrFNNGCeO8rZ .edge-thickness-normal{stroke-width:2px}#mermaid-svg-zIyPUrFNNGCeO8rZ .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-zIyPUrFNNGCeO8rZ .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-zIyPUrFNNGCeO8rZ .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-zIyPUrFNNGCeO8rZ .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-zIyPUrFNNGCeO8rZ .marker{fill:#333}#mermaid-svg-zIyPUrFNNGCeO8rZ .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-zIyPUrFNNGCeO8rZ {color: rgba(0, 0, 0, 0.75);font: ;}
客户端连接认证服务端
设定字符集
告知服务端当前客户端的字符集
其他操作
内部字符集转换不用管
结束
小结
1、乱码的本质原因就是客户端与服务端的字符集不一致导致
- 客户端存储数据的时候服务端没有正确理解(服务端按照默认的存储,存储的就是乱码)
- 客户端读取的时候没有正确告知服务端(服务端按照默认的提供)
2、解决乱码问题的方案:保证服务端正确理解客户端的字符集
- 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字符集来进行统一设置,而且是在建立连接之后操作数据之前就设置
总结
1、字符集是所有编程语言里都必须面对的首要问题,必须在一开始就选择好字符集(去到企业后先问清楚)
2、乱码是编程中最基础要解决的问题,一旦数据产生了乱码,通常是不可逆操作
3、解决乱码问题其实本质就是统一字符集问题
- 客户端字符集:
character_set_client
- 连接层字符集:
character_set_connection
- 结果集字符集:
character_set_results
- 简单统一方式:
set names 客户端字符集
- 存储字符集:不用考虑,因为数据库有强大的字符集转换能力,只要在开始设置好,保证后续数据不会超出字符集即可
校对集
目标:了解校对集的概念以及校对集在校对时的作用
校对集概念
校对集:collate/collation,即数据比较时对应的规则
- 校对集依赖字符集
- 校对集的校对方式分为三种
- 大小写不敏感:_ci,case insensitive(不区分大小写)
- 大小写敏感:_cs,case sensitive(区分大小写)
- 二进制比较:_bin,binary(区分大小写)
- 校对集是在进行数据比较的时候触发
1、_ci,大小写不敏感
A 与 a 是相同的,不存在谁大谁小(系统会转换成一种)
2、_cs,大小写敏感
A 与 a 有大小关系,所以不同(存储数值)
3、_bin,二进制比较
A的二进制是01000001
a的二进制是01100001
二进制按位比较,所以不同
小结
1、校对集是数据比较的规则
2、校对规则一共有三种
- _ci:大小写不敏感,不区分大小写
- _cs:大小写敏感,区分大小写
- _bin:二进制比较(区分大小写)
校对集设置
校对集设置:在创建数据表的时候创建校对规则
- 校对规则可以在MySQL四层对象设计
- DBMS:系统配置
- DB:数据库指定(库选项)
- Table:表指定(表选项)
- Field:字段指定(字段选项,一般不用)
- 校对集从Field到DBMS继承;优先级Field最高
- 每个校对集都有字符集对应的默认规则
- 校对集设置语法:
collate 校对集规则;
1、查看MySQL支持的所有校对集
show collation;
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、校对集依赖字符集,且每个字符集都有默认的校对集(一般情况不需要设置)
校对集应用
校对集应用:触发校对规则的使用
- 校对集的应用通常是通过数据比较触发:
order by 字段
- 数据表中数据一旦产生,校对集的修改就无效
1、创建校对规则数据表并插入数据
# 创建默认校对规则表(不区分大小写)
create table t_4(name varchar(1)
)charset utf8mb4;
insert into t_4 values('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、校对集通常使用字符集默认校对集,如果需要进行额外的比较应用(通常是区分大小写),那么需要在建表的时候设定好目标校对规则
总结
1、校对集是数据比较的标准
2、校对集的校对规则都是依赖字符集存在的,不外乎三种规则
- _ci:不区分大小写
- _cs:区分大小写
- _bin:二进制比较(区分大小写)
3、校对集的触发是自动的,只要数据在进行比较的时候就会自动触发设定的校对规则
- 校对集的维护要在数据产生之前
- 数据产生之后校对集的修改将无效
4、在进行数据表设计之前,要提前了解数据后续可能产生的比较形态,选择好合适的校对规则(一般都默认不区分大小写)
MySQL 字符集和校对集相关推荐
- 关于MySQL字符集和校对集问题
字符集 一.字符集基础知识 数据在计算机的最终存储一定是二进制: 但是计算机内部的存储都是字节为基本单位: 最小单位是位(bit)只有两个状态0或者1. 但是表示的数据太少, 计算机都是以字节为操作单 ...
- Mysql数据库字符集和校对集
简要说明 字符集和校对规则 字符集是一套符号和编码.校对规则是在字符集内用于比较字符的一套规则. MySql在collation提供较强的支持,oracel在这方面没查到相应的资料. 不同字符 ...
- MySQL字符集和校对规则(Collation)
MySQL字符集和校对规则(Collation) 阅读目录:MySQL的字符集和校对规则 MySQL的字符集 MySQL与字符集 正确使用字符集 MySQL客户端与字符集 字符集编码转换原理 字符集常 ...
- mysql字符集和校对规则
字符集的概念大家都清楚,校对规则很多人不了解,一般数据库开发中也用不到这个概念,mysql在这方便貌似很先进,大概介绍一下. 简要说明 字符集和校对规则 字符集是一套符号和编码.校对规则是在字符集内用 ...
- mysql 字符集和校对规则
为什么80%的码农都做不了架构师?>>> 1,常规字符集及校对 假设我们有一个字母表使用了四个字母:'A'.'B'.'a'.'b'.我们为每个字母赋予一个数值:'A'=0,'B ...
- 11、MySQL字符集和校对规则详解
在讲解字符集和校对规则之前,我们先来简单了解一下字符.字符集和字符编码. 字符(Character)是计算机中字母.数字.符号的统称,一个字符可以是一个中文汉字.一个英文字母.一个阿拉伯数字.一个标点 ...
- mysql 引擎 校对,MySQL 字符集和校对
字符集是指一种从二进制编码到某类字符符号的映射,校对是一组用于某个字符集的排序规则.每一类编码字符都有其对应的字符集和校对规则 MySQL 如何使用字符集 每种字符集都可能有多种校对规则,并且都有一个 ...
- MySQL数据库——MySQL字符集和校对规则详解
在讲解字符集和校对规则之前,我们先来简单了解一下字符.字符集和字符编码. 字符(Character)是计算机中字母.数字.符号的统称,一个字符可以是一个中文汉字.一个英文字母.一个阿拉伯数字.一个标点 ...
- 3、数据库中的字符集和校对集
字符集 字符集指的就是存储数据到硬盘时用到的编码方式,mysql中操作字符集的基本sql如下: show character set; -- 查看服务器支持哪些字符集 show variables ...
- mysql连接校对_mysql字符集和校对规则(Mysql校对集)
字符集的概念大家都清楚,校对规则很多人不了解,一般数据库开发中也用不到这个概念,mysql在这方便貌似很先进,大概介绍一下 简要说明 字符集和校对规则 字符集是一套符号和编码.校对规则是在字符集内用于 ...
最新文章
- android aar 修改,Android aar包修改代码后重新打包
- 1.7 Python基础知识 - 模块初识
- 【转载】Windwos CE 跨进程内存注入
- jQuery如何在线导入js包
- Python-体育竞技模拟
- 【转】【Java/Android】Toast使用方法大全
- 服务器常见远程管理网口及登录方式
- vue组件之间的参数传递
- 计算机上怎么写英语音标,手的英语音标怎么写
- Digispark(ATTINY85) 微型开发板驱动安装与开发环境配置教程
- java设计模式---创建者模式
- 基于语法分析的公式分析器设计
- 程序员常见10大口头禅
- 免费ofd在线转PDF
- 爬虫、知识图谱和开源情报分析01
- xp计算机远程桌面设置密码,远程桌面连接设置,详细教您xp怎么设置远程桌面连接...
- trim()函数的用法
- 阿里大文娱——优酷场景化营销
- ID card No.
- 191201 解决MagicMouse2速度延迟缓慢
热门文章
- 海马玩模拟器离线安装包下载方法
- OBD柴油货车环保在线检测终端助力机动车尾气监管与时俱进
- 安卓Behavior用法
- Android CoordinatorLayout之自定义Behavior
- HTML5来了,7个混合式移动开发框架
- python上传百度云_python通过百度云api的方式上传或下载文件
- kiv8测量方法_measure_测量 | measure_Scikit image_参考手册_非常教程
- 三维点云语义分割基础知识
- 用Python求三角形面积
- 配置网络拓扑图测试软件,网络工程师必备系列课程专题(数据恢复+RAID配置+画拓扑图)...