其实解决是他得排序 
先将两个数据表的编码统一,如果 t1  的编码为utf8_general_ci,那么将这个表的编码修改下执行以下语句
ALTER TABLE temp CONVERT TO CHARACTER SET utf8 collate utf8_unicode_ci
以上就解决了,,你show create table 两个表看如果一样了,就好了。

我还想说一点,
COLLATION 是用在排序,大小比较上。
一个字符集有一个或多种collation,并且以_ci(大小写不敏感)、_cs(大小写敏感)或_bin(二元)结束
在做比较时,应该确保两个表的字符排序相同。
一般建表的时候不指定,可以走默认的,全是默认的就没什么问题了。
alter table t character set utf8;
这个也是修改字符集,但是你会发现,原来的字符集会变成列级的check.
所以以后真正改字符集的时候别忘了加上  CONVERT TO .
 如果您想要把表默认的字符集和所有字符列(CHAR, VARCHAR, TEXT)改为新的字符集,应使用如下语句:
 ALTER TABLE tbl_name CONVERT TO CHARACTER SET 。。。
要仅仅改变一个表的默认字符集,应使用此语句:
ALTER TABLE tbl_name DEFAULT CHARACTER SET 。。。

 

转载:http://blog.sina.com.cn/s/blog_8317516b0100uaes.html

posted on 2014-03-18 09:53  andylau168  阅读(396)  评论(0)    收藏  举报