问题起因
首先我从完全数据库dba的角度 insert a.a select * from b.a
数据是可以插入的哦,而且是成功的。 这里a库 和 b库的字符集是 latin1 -- cp1252 West European;
表a是ENGINE=MyISAM DEFAULT CHARSET=latin1;
(a 和b 库是设置一样的)
之后,我在java code里(完全java 不用tomcat),先抽出 select * from b.a 一行保存到变量里
之后写入到insert a.a 结果报下面的错误:
but java.sql.SQLException: Incorrect string value: '\xEF\xBF\xBDche...' for column 'collectedName' at row 1 java没有对字符集进行处理,请问如何写代码才能让数据写入到insert a.a。
(a表有欧洲西班牙文字 还有意大利 犹太文字。 所以导致本地机器无法识别 ,都是???等)。
首先我从完全数据库dba的角度 insert a.a select * from b.a
数据是可以插入的哦,而且是成功的。 这里a库 和 b库的字符集是 latin1 -- cp1252 West European;
表a是ENGINE=MyISAM DEFAULT CHARSET=latin1;
(a 和b 库是设置一样的)
之后,我在java code里(完全java 不用tomcat),先抽出 select * from b.a 一行保存到变量里
之后写入到insert a.a 结果报下面的错误:
but java.sql.SQLException: Incorrect string value: '\xEF\xBF\xBDche...' for column 'collectedName' at row 1 java没有对字符集进行处理,请问如何写代码才能让数据写入到insert a.a。
(a表有欧洲西班牙文字 还有意大利 犹太文字。 所以导致本地机器无法识别 ,都是???等)。
转换发现能导入绝大部分数据
但现在有2条死活进不去 不知道如何修改代码?
目的库的表 字段 也全部都是latin1
目但现在发现从源库 用java代码取出的数据是utf8形式 (某些不明国家的字符集)
现在insert他们到目的库发现失败 (我将这些字段类型改为utf8 发现导出是成功的)
但为了保证源库 和目的库 的同一性
只想在代码里修改 问该如何在代码里作 (我已经用了 getbytes uft8--latin1 )