Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1095606
  • 博文数量: 186
  • 博客积分: 4939
  • 博客等级: 上校
  • 技术积分: 2075
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-08 17:15
文章分类

全部博文(186)

文章存档

2018年(1)

2017年(3)

2016年(11)

2015年(42)

2014年(21)

2013年(9)

2012年(18)

2011年(46)

2010年(35)

分类: Mysql/postgreSQL

2012-02-21 13:08:22

infobright 这个问题遇到以后一直没搞明白,google所有的信息都无果。最近总算实践出来了。
原因如下:
1. create DATABASE 的时候如果指定了charset = latin1,而create table 指定的是utf8,那么select 出来以后在load进去,会出现这个问题,原因是,table的字符集和mysql的机制不一样,它会继承database的字符集,其中很复杂的一套东西,解决办法,全部指定utf8.

2.某些特殊fields不会转义,即使你escaped by '\\'
比如 test\",这个是导出以后的结果,这里\只是转义了特殊字符",而导出之前是test\"(这个\是字段的字符之一),按理应该是 test\\\"(1,3的\是转义字符),这样你load即使如何转义都不行。

解决办法:select into的时候,用replace函数,把所有的\给替换成\\,然后load。

阅读(6966) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~