加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

Mysql必读深入Mysql字符集配置[英华团结]

发布时间:2020-12-29 15:03:39 所属栏目:编程 来源:网络整理
导读:《Mysql必读深入Mysql字符集配置[英华团结]》要点: 本文先容了Mysql必读深入Mysql字符集配置[英华团结],但愿对您有效。假若有疑问,可以接洽我们。 MYSQL入门 根基观念 ? 字符(Character)是指人类说话中最小的表义标记.譬喻'A'、'B'等; ? 给定一系列字符,

MYSQL入门

Mysql必读深入Mysql字符集配置[英华团结]

? 起首,通过mysql客户端,将数据发送给Mysql处事器,颠末字符集转换器的时辰,因为character_set_connection 值为gbk,以是会将客户端发送过来的数据转为gbk名目,紧接着,字符集转换器将数据要传送给处事器的时辰,发明处事器是以utf8生涯数据的,以是,在其内部会自动将数据由gbk转换成utf8名目 ? ? 什么时辰会呈现乱码?
    客户端的数据名目与声明的?character_set_client不符
? ? ? ? 通过?header('Content-type:text/html;charset=utf8');将客户端的数据转成utf8名目标,在数据颠末“字符集转换器”的时辰,因为character_set_client=gbk,而character_set_connection也便是gbk,以是从客户端传送过来的数据(着实是utf8名目)并不会被转换名目. ????????可是,字符集转换器在讲数据发送给处事器的时辰,发明处事器要的名目是utf8,以是会将当前数 ? ? ? ? ?据当做gbk名目来处理赏罚,从而转成utf8(可是,这一步着实已经错了...). ????2.? result与客户端页面不切合的时辰 ????? ??

MYSQL入门

Mysql必读深入Mysql字符集配置[英华团结]

?将返回功效的名目配置为utf8,可是客户端接管的名目为gbk,因此会呈现乱码 ?
通过show character set 语法,可以表现全部可用的字符集 latin字符集

MYSQL入门

Mysql必读深入Mysql字符集配置[英华团结]

留意:Maxlen列表现用于存储一个字符的最大的字节数量. ? utf8字符集

MYSQL入门

Mysql必读深入Mysql字符集配置[英华团结]

? gbk字符集

MYSQL入门

Mysql必读深入Mysql字符集配置[英华团结]

? 什么时辰会丢失数据? 比拟以上三幅图可以知道,每种字符齐集,用于存储一个字符的最大的字节数量都差异,utf8最大,latin最小.以是在颠末字符集转换器的时辰,假如处理赏罚不妥,会造成数据丢失,并且是无法挽回的. 好比: 将character_set_connection的值改为lantin的时辰

MYSQL入门

Mysql必读深入Mysql字符集配置[英华团结]

从客户端发送过来的gbk数据,会被转成lantin1名目,由于gbk名目标数据占用的字符数较多,从而会造成数据丢失 ?

MYSQL入门

Mysql必读深入Mysql字符集配置[英华团结]

总结:
    character_set_client和character_set_results 一样平常环境下要同等,由于一个暗示客户端发送的数据名目,另一个暗示客户端接管的数据名目为了停止造成数据丢失,需让?character_set_connection的字符编码 大于?character_set_client的字符编码

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读