是这样的,我的MYSQL默认的database编码是gb2312,然后呢我在这个编码的情况下,创建了一个数据库shopsystem,并且创建一几张表,并向其中输入了一些数据,然后我还在这个基础上做了一个小型的JAVA购物系统,系统中读取了shopsystem表里面的数据,.然后现在我想把我的数据库的编码转换成UTF8,并且也已经更改成功了,然后我用command line命令框查找我的表,于是就出现了乱码的情况,可是为什么我的程序里面读取的字符并不会出现乱码的情况,这让我非常的疑惑,难道程序里面能自动匹配正确的编码吗?还是什么?。求大神解答。
最主要的我想问一下

这里面的编码都是做什么的,什么情况下会用到这几种编码。
希望各位大神能够详细一点,我是个小白啊。。。。。
------解决思路----------------------
cmd 命令names gbk;