MySQL用Load Data local infile 导入部分数据后中文乱码(character set utf8)

今天在两台MySQL服务器之间导数据,因为另一个MySQL服务器是测试用的,差一个月的数据,从现有MySQL服务器select到一个文件,具体语句是:


select * from news where ine_time>='2010-02-01'  and ine_time <'2010-03-01' into outfile '/tmp/newsdata.sql';

然后scp到另一个MySQL Server上导入到对应的表中,具体语句如下:


load data local infile '/home/lsanotes/newsdata.sql'  into table news;

然后刷新访问这台数据库的web页面,发现刚导进来的这一个月的数据都是乱码,而以前其它月份的则正常,用show create table news;查看发现两个服务器中的news表都是utf8,奇怪,把导出的数据转换成utf8,再导入问题仍旧。
后来在数据库中查看刚刚导进的这一个月的数据时,没有执行set names utf8;就可以正常查看中文而不乱码,而其它月份的必须先执行set names utf8;才能看中文而不乱码,但是当我执行过set names utf8;后再看刚刚导进的这一个月的数据却是乱码,看来导进来的数据并不是utf8格式。最后的解决方法是:


load data local infile '/home/lsanotes/newsdata.sql'  into table news character set utf8;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值