* mysql首先将拿到的数据转换为character_set_client指定的编码格式,然后转换为 character_set_connection指定的格式,最后再将数据存储到数据库,存储格式为character_set_database所指定的格式;
* 从数据库读数据时,将数据库格式转换为character_set_results指定的格式,再发送给外部程序,这就要求客户端程序和character_set_results编码格式相同;
* 为了避免引起乱码问题,建议在创建数据库时先设置编码格式:SET NAMES 'utf8',这条命令相当于以下三条命令:
* SET character_set_client = 'utf8';
* SET character_set_connection = 'utf8';
* SET character_set_results = 'utf8';
* 同时从数据库select数据时,设置编码格式:SET NAMES 'utf8',网上说执行insert,update操作时似乎不需要设置,我的没设置没问题;
* 网上说用utf8存储datetime字段出错且在utf8编码下无法正常显示,但在gb2312下能正常显示
MYSQL关于字符编码方面的存储原理
最新推荐文章于 2022-08-24 22:25:40 发布