当前位置:首页 » 操作系统 » 数据库编码规则

数据库编码规则

发布时间: 2025-06-11 12:37:46

⑴ mysql新建的数据库默认是什么编码

mysql 创建 数据库时指定编码很重要,很多开发者都使用了默认编码,但是我使用的经验来看,制定数据库的编码可以很大程度上避免倒入导出带来的乱码问题。

我们遵循的标准是,数据库,表,字段和页面或文本的编码要统一起来
很多mysql数据库工具(除了phpmyadmin)都不支持创建时指定数据库编码,可以改my.ini来解决这个问题,但是需要重新启动mysql,不过用下面的语句会更有效
GBK: create database test2 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
UTF8: CREATE DATABASE `test2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
注意:如果不是通过my.ini配置文件设置的内容,只在当前状态下有效,当重启数据库服务后失效。所以如果想要不出现乱码只有修改my.ini文件,数据库编码可以在创建数据库时候指定UTF8,如下:
|character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8

⑵ 数据库中1-1000之间字符编码是多少

一位数1个,两位数的话十位有10个1,个位有9个1,三位数百位有100个1,十位有90个1,个位有90个1,再加上1个四位数,一共是1+10+9+100+90+90+1=301个1。

ASCII码中,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制。最小值0,最大值255。

字符编码

也称字集码,是把字符集中的字符编码为指定集合中某一对象(例如:比特模式、自然数序列、8位组或者电脉冲),以便文本在计算机中存储和通过通信网络的传递。常见的例子包括将拉丁字母表编码成摩斯电码和ASCII。其中,ASCII将字母、数字和其它符号编号,并用7比特的二进制来表示这个整数。通常会额外使用一个扩充的比特,以便于以1个字节的方式存储。

⑶ UTF8与GBK数据库字符集

现有数据库A与数据库B,数据库A服务端由GBK编码,数据库B服务端由UTF8编码,需完成数据库A至数据库B的数据导入。测试中发现A库数据在插入B数据库时,部分数据查询时存在编码转换报错。影响字符编码的几个要素如下:

首先阐述影响字符编码的几个要素:Terminal-encoding、Client-encoding与Database-encoding。Terminal-encoding负责将一个字符串映射成字符编码,如'镓'在GBK解析为0xE689,在UTF8解析为0xE98EB5。Client-encoding是数据库识别编码格式的参考,数据库中二进制编码的原本格式由Client-encoding标识。Database-encoding是数据库服务器编码,对数据库B来说是UTF8模式,不支持GBK格式。数据库在处理非UTF8编码时,会转义成UTF8编码入库;读出时,如果client_encoding不是UTF8,会转义成其他二进制编码。

具体场景如下:

场景a:终端字符集为GBK,数据库client_encoding为GBK,database_encoding为UTF8。镓弿被还原出正确原编码,但因转义错误导致转义失败。

场景b:终端字符集为UTF8,数据库client_encoding为UTF8,database_encoding为UTF8。镓弿被正确还原并入库,按照UTF8读取可以得到原字符,但按照GBK读取时失败。

场景c:终端字符集为GBK,数据库client_encoding为UTF8,database_encoding为UTF8。镓弿被正确还原并入库,无论按照UTF8或GBK读取均可读出正确字符串。

问题原因在于A库中的GBK范围大于B库中设置的GBK,A库所谓“GBK”实际上为GB18030编码集。编码背景资料如下:

GB2312、GBK与GB18030是中国国家标准简体中文字符集,GB2312通行于中国大陆,GBK包含GB2312全部汉字、非汉字符号及BIG5全部汉字,GB18030包含所有汉字、部首、符号,且兼容GB2312及GBK,收录汉字70244个。

解决方法是在导入与导出数据时,如果A库为“GBK”或类“GBK”字符集传输或存储数据,B库需设置客户端字符集为“GB18030”。

热点内容
新东方云教室怎么缓存回放 发布:2025-08-17 11:41:32 浏览:374
安卓手机怎么用carplay怎么用 发布:2025-08-17 11:38:58 浏览:846
快手微信登录如何加密码 发布:2025-08-17 11:16:31 浏览:354
超降率算法 发布:2025-08-17 11:03:49 浏览:448
myeclipse编译快捷键 发布:2025-08-17 11:03:38 浏览:317
传奇大退挂机脚本 发布:2025-08-17 10:59:01 浏览:356
android滑动图片轮播 发布:2025-08-17 10:58:54 浏览:771
奔驰c有哪些配置 发布:2025-08-17 10:46:01 浏览:409
u盘电脑加密 发布:2025-08-17 10:44:32 浏览:810
超级视频安卓怎么安装后打不开了 发布:2025-08-17 10:29:06 浏览:992