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。
阅读(6959) | 评论(0) | 转发(0) |