mysql数据的默认编码为utf-8,而当我们使用gbk的编码进行查询时会发生什么?
中文格式(6)在gbk编码中为A3A836A3A9,utf-8的编辑器下显示的是乱码。
以下实例中分别以001和001(6)进行的gbk编码进行查询,查询出来的结果是一样的。
也就是说gbk编码格式在UTF-8的数据库中查询遇到了无法处理的编码,不再处理只使用可转码的前半部分。orcale数据库的有兴趣可以试一试
select * from mysql_table t where id =CONVERT(unhex('303031A3A836A3A9') USING UTF8);
select * from mysql_table t where id =CONVERT(unhex('303031') USING UTF8);