好吧,这是我的想法。我有一个用UCS-2编码的.rpt文件,基本上是两列,以“,”分隔。
我的查询是;
load data infile 'file_name' into table
table_name fields terminated by ','
lines terminated by '\n';
文本只是两个int列。我不断收到错误消息:
错误代码:1366
不正确的整数值:第1行的“ column1”列为“ÿþ1”
我尝试使用usc-2默认排序规则创建表,并且仍然存在相同的问题。我尝试将.rpt转换为不同的编码以匹配表,但是没有运气。
谢谢
最佳答案
加载文件中的数据几乎可以输入UCS-2以外的任何内容。
来自http://dev.mysql.com/doc/refman/5.1/en/load-data.html
注意无法加载使用ucs2字符集的数据文件。
(在页面下半部)
样本C代码将ucs-2转换为ascii
for( i=0; i!=len; ++i) {
if( (ucs2[i]>=0) && (ucs2[i]<127)) {
ascii[i] = ucs2[i];
}
else {
conversion_failed();
ascii[i] = '\0';
}
}
Linux命令行脚本
iconv -f UCS-2BE -t ascii oldfile > newfile
(不能100%确保正确的输入描述是“ UCS-2BE”,这可能有所不同。请仔细检查iconv文档)