操作系统为windows xp  
实验1:
客户端应用字符集:GBK  也就是在cmd里打chcp为936
客户端字符集:UTF8  即是注册表的字符集
服务端字符集:UTF8
插入大部分中文到数据库报错.为什么?
实验2:
客户端应用字符集:GBK  也就是在cmd里打chcp为936
客户端字符集:ZHS16GBK
服务端字符集:AL32UTF8
插入成功,查询成功.
改客户端字符集为AL32UTF8,查询失败.已经预料到了.
但是插入也失败,为什么?ZHS16GBK是可以转换成AL32UTF8的.实验3:
客户端应用字符集:GBK  也就是在cmd里打chcp为936
客户端字符集:AL32UTF8
服务端字符集:AL32UTF8
插入成功,查询成功.
改客户端字符集为ZHS16GBK.查询失败,预料中.
但是插入也失败,为什么?服务端字符集和客户端一样不需要转码,而且GBK也不是前者的超集.请高手帮忙解释一下 为什么  原因?