当前位置: 首页 > news >正文

帮别人做网站怎么赚钱wordpress 静态设置

帮别人做网站怎么赚钱,wordpress 静态设置,网站后台shopadmin输在哪里,王烨涛一.常用字符编码 1.ASCII编码 用一个字节表示一个字符 2.ANSI编码 每个国家为了显示本国的语言而对ASCII码进行了拓展 用两个字节表示一个汉字,中国的ANSI编码是GB2312编码(简体),日本的ANSI编码是JIS编码,台湾的A…

一.常用字符编码

1.ASCII编码

用一个字节表示一个字符

2.ANSI编码

每个国家为了显示本国的语言而对ASCII码进行了拓展

用两个字节表示一个汉字,中国的ANSI编码是GB2312编码(简体),日本的ANSI编码是JIS编码,台湾的ANSI编码是BIG5编码(繁体)

3.GBK编码

对GB2312进行的扩展,用来显示罕见的、古汉语的汉字。

4.Unicode编码

用四字节表示一个字符

5.UTF-8编码

国际通用字符库,涵盖了地球上人类的所有的语言文字

可以识别字符,如果字符是简单的字母,就用一字节存储,如果是复杂的生僻字,就用四字节存储

utf8不支持表情符号emoji,utf8mb4支持表情符号emoji

二.字符编码全局设置

1.原因

用户在向网站服务端进行数据信息存储时,由于数据库服务系统默认的字符编码设置问题,可能会导致出现字符乱码,为了能更准确地识别数据库中的中文字符信息,需要对数据库服务配置文件中的默认字符编码设置进行调整

2.显示所有可用的字符集

show charset;

3.查询 MySQL 中所有包含“char”关键字的系统变量(通常是与字符集和字符编码相关的系统变量)

show variables like '%char%';

注意这些是否是一样的

4.在/etc目录将数据库服务配置文件进行备份

cp my.cnf my.cnf.bak

5.修改配置文件

vim /etc/my.cnf

在[mysqld]区域写入

character-set-server=gbk

6.重启以重新加载配置文件

 systemctl restart mysqld

7.再次查看

show variables like '%char%';

8.查看新创建的数据库的字符集

show databases;
create database yong65535;
show create database yong65535;

9.编辑修改客户配置文件参数信息

client.cnf是客户端配置文件信息

vim /etc/my.cnf

在[client]区域内写入

default-character-set=gbk

10.重启和查看

systemctl restart mysqld
show variables like '%char%';

show variables like 'character_set_%';

11.最后修改回去

vim /etc/my.cnf

三.字符编码局部设置

1.指定某一数据库的字符集

在创建库时指定字符集就行了

如创建qwq数据库,指定字符集为gbk

create database qwq charset gbk;

查看该数据库信息

show create database qwq;

2.指定数据库中某一个表的字符集

在创建表时指定字符集就可以了

先进入qwq数据库

use qwq;

3.查看新创建的表优先使用默认全局的字符集还是优先使用这一数据库的字符集

创建t1表,该表有表项id,数据类型为int

create table t1(id int);
查t1表信息

show create table t1;
 

由此可见优先继承的是数据库的字符集

4.创建t2表,该表有表项id类型为int,且指定使用的字符集为utf8mb4;

create table t2(id int) charset utf8mb4;

查看表t2内容
show create table t2;

四.参数信息、解释说明及其关系图

1.参数信息及其解释说明

character_set_client:用来设置客户端默认使用的字符集

character_set_connection:用来设置连接数据库时默认的字符集

character_set_database:用来设置创建数据库默认的编码格式

character_set_filesystem:文件系统的编码格式,把操作系统上的文件名转化成此字符集,即把character_set_client转换character_set_filesystem,默认binary是不做任何转换

character_set_results:数据库给客户端返回时默认使用的编码格式

character_set_server:服务器安装时指定的默认编码格式,这个变量建议由系统管理,不要认为定义

character_set_system:数据库系统使用的编码格式,这个值一直是utf8,不需要设置,它是存储系统元数据的编码格式

character_sets_dir:这个变量是字符集安装的目录

2.关系图

举例说明:

SET character_set_client = gbk;
SET character_set_connection = utf8mb4;
SET character_set_results = latin1;

内部操作字符集=utf8mb4

过程:

客户端字符串(中文) 
   --用gbk编码--> 字节流(gbk)
       ↓
服务器用character_set_client=gbk解码成字符
       ↓
服务器用character_set_connection=utf8mb4编码字符用于SQL执行
       ↓
插入时转为表字符集utf8mb4编码写入磁盘
       ↓
查询时从磁盘取utf8mb4字节流
       ↓
转成字符序列
       ↓
根据character_set_results=latin1编码成latin1字节流返回客户端
       ↓
客户端用latin1解码成字符显示

3.注意事项

客户端字符集设置要和服务器对应,避免字符集不匹配导致乱码,一般建议客户端、连接、结果、表字段都统一用utf8mb4,以减少字符集转换复杂度和乱码风险

五.编码排序(校对)规则

根据设置的排序规则不同,查询信息时,影像数据信息的查询输出和排序效果

1.所有已用的字符排序规则

 show collation;

2.排序规则后缀及其解释

后缀含义及解释
_ciCase Insensitive(不区分大小写)
字符比较时忽略大小写,‘a’与‘A’视为相同。是最常用的后缀。
_csCase Sensitive(区分大小写)
字符比较时区分大小写,‘a’和‘A’被视为不同字符。
_binBinary(二进制)
按照字符的二进制值(ASCII码或Unicode码)逐字节比较,区分大小写且不考虑语言规则。速度快,精确比较。
_aiAccent Insensitive(不区分重音符号)
忽略字符的重音符号(例如é和e视为相同),通常和ci结合使用,如utf8mb4_0900_ai_ci
_asAccent Sensitive(区分重音符号)
区分带重音符号和不带重音符号的字符。
0900代表使用Unicode Collation Algorithm版本 9.0.0的排序规则。
比如utf8mb4_0900_ai_ci,这是MySQL 8.0及以后版本引入的新排序规则,支持更准确的Unicode排序。

3.对库设置校对规则

在创建数据库时指定

create database qoq charset utf8 collate utf8_general_mysql500_ci;

查看这个数据库信息

show create database qoq;

4.对表设置校对规则

create table t1 (id int) charset utf8 collate utf8_german2_ci;

5.演示校对规则不同的效果

创建三个表,有表项info,char(3)类型,utf8mb4编码,排序规则各不相同

区分大小写

CREATE TABLE t3 (info CHAR(3)) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;

不区分大小写

CREATE TABLE t4 (info CHAR(3)) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs;

ascii码存储

CREATE TABLE t5 (info CHAR(3)) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

向三个表插入相同的数据

insert into t3 values('a'),('A'),('b'),('B'),('c'),('C');

insert into t4 values('a'),('A'),('b'),('B'),('c'),('C');

insert into t5 values('a'),('A'),('b'),('B'),('c'),('C');

查询数据信息

select * from t3 where info='a';

select * from t4 where info='a';

select * from t5 where info='a';

排序处理

select * from t3 order by info;

select * from t4 order by info;

select * from t5 order by info;

校对规则还会影响数据排序结果,因此也成为排序规则

六.修改数据库的字符集

1.直接转换,此方法只会影响之后存储的数据,不会修改之前存储的数据

查看当前的字符集

show create table t1;

修改成utf8mb4,之后再次查看

alter table t1 charset utf8mb4;

show create table t1;

2.间接修改

锁表逻辑(别让用户再写数据了)导出数据(例如:mysqldump),重新创建数据空表(设定目标字符集),导入备份数据信息

可以影响之后存储的数据,也可以影响之前的数据

注意必须保证修改之后的数据字符集是之前字符集的超集

http://www.dtcms.com/a/473482.html

相关文章:

  • SpringBoot Jar包冲突在线检测
  • 基于OpenCV的通过人脸对年龄、性别、表情与疲劳进行检测
  • vue3 类似 Word 修订模式,变更(插入、删除、修改)可以实时查看标记 如何实现
  • LLM 笔记 —— 07 Tokenizers(BPE、WordPeice、SentencePiece、Unigram)
  • Serverless数据库架构:FaunaDB+Vercel无缝集成方案
  • 【自然语言处理】“bert-base-chinese”的基本用法及实战案例
  • LLM 笔记 —— 08 Embeddings(One-hot、Word、Word2Vec、Glove、FastText)
  • 广告公司网站设计策划phpcmsv9手机网站
  • 【Qt】乌班图安装Qt环境
  • 边缘计算中的前后端数据同步:Serverless函数与Web Worker的异构处理
  • Windows Pad平板对 Qt 的支持
  • 基于JETSON ORIN/RK3588+AI相机:机器人-多路视觉边缘计算方案
  • 没有网怎么安装wordpress沈阳企业网站优化排名方案
  • 【C++STL :list类 (二) 】list vs vector:终极对决与迭代器深度解析 揭秘list迭代器的陷阱与精髓
  • 虚幻引擎入门教程:虚幻引擎的安装
  • FastbuildAI后端服务启动流程分析
  • AI×Cursor 零基础前端学习路径:避误区学HTML/CSS/JS
  • 新手小白——Oracle数据库.索引与数据完整性
  • 免费注册网站软件网站制作 东莞
  • Redis 的璀璨明珠:深入剖析有序集合 (ZSET) 的奥秘与艺术
  • 【Linux网络编程】多路转接reactor——ET模式的epoll
  • 深入理解线程池:核心处理流程与工作原理
  • 关于unity一个场景中存在多个相机时Game视图的画面问题
  • 中国室内设计网站排名太原建设银行网站
  • 手写MyBatis第104弹:SqlSession从工厂构建到执行器选择的深度剖析
  • 【力扣 SQL 50】连接
  • 手机的网站有哪些女装网站建设规划书
  • 《领码 SPARK 融合平台》投资研究报告(最终完整版)
  • 【Linux】操作系统上的进程状态及其转换
  • (done) 矩阵分块计算和分块转置