- 论坛徽章:
- 0
|
mysql中某个数据库,假设为d,字符编码设为utf-8.
某个client的字符集设置如下:
character_set_client=gb2312,character_set_connection=gb2312,character_set_results=gb2312
向d的表插入数据(中文),查询显示正常.当把character_set_results改为latin1时,查询显示乱码.
令我困惑的问题是,数据在d中以utf-8编码方式存储,也就是当server接收到client的数据后,存储时经过一个gb2312->utf-8的转码过程,显示results时也经过一个character_set_database->character_set_results,这里也就是utf-8->latin1,应该也能够正常显示,为什么会出现乱码呢?
还有character_set_connection是个什么角色,文档中提到当server收到数据时转为character_set_connection再处理,那么存向库中时岂不是也要经过connection->database编码的转换!
这个问题困惑很久,请高手指教! |
|