数据库编码问题

lmysql有六处使用了字符集,分别为:client 、connection、database、results、server 、system。
?client是客户端使用的字符集。
?connection是连接数据库的字符集设置类型,如果程序没有指明连接数据库使用的字符集类型就按照服务器端默认的字符集设置。      
?database是数据库服务器中某个库使用的字符集设定,如果建库时没有指明,将使用服务器安装时指定的字符集设置。   
?results是数据库给客户端返回时使用的字符集设定,如果没有指明,使用服务器默认的字符集。      
?server是服务器安装时指定的默认字符集设定。      
?system是数据库系统使用的字符集设定。
?
l查看和修改数据库字符集
?show variables like ‘character%‘;
?set character_set_results=gbk;
?set character_set_client=gbk; 
 
如果默认数据库是utf-8类型的6种字符集,在dos下属性默认是gbk处理字符集的,当使用insert into语句插入数据的时候插入中文,此中文先被gbk编码然后进入数据库被默认当作utf-8存储 就是乱码了,如果?set character_set_client=gbk; 通知数据库客户端是gbk则数据库会先根据gbk码表解码 然后再编码称utf-8存在数据库中,?set character_set_results=gbk;代码显示结果为gbk.

数据库编码问题,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。