很多数据不能进入库源库 的表 字段 全部都是latin1
目的库的表 字段 也全部都是latin1
目但现在发现从源库 用java代码取出的数据是utf8形式 (某些不明国家的字符集)
现在insert他们到目的库发现失败 (我将这些字段类型改为utf8 发现导出是成功的)
但为了保证源库 和目的库 的同一性
只想在代码里修改 问该如何在代码里作 (我已经用了 getbytes uft8--latin1 )
目的库的表 字段 也全部都是latin1
目但现在发现从源库 用java代码取出的数据是utf8形式 (某些不明国家的字符集)
现在insert他们到目的库发现失败 (我将这些字段类型改为utf8 发现导出是成功的)
但为了保证源库 和目的库 的同一性
只想在代码里修改 问该如何在代码里作 (我已经用了 getbytes uft8--latin1 )
但是不能再其他机器再现成功 (数据库同时在同一mysql服务器) ,java代码是一样的e
检查os eclipse jvm配置实在找不到差别?
希望能提供线索如何解决 现在到了死胡同
System.getProperties().list(System.out);
分别在不成功机器 和成功机器上做
1 不成功机器输出
-- virutue machine listing properties --
java.runtime.name=Java(TM) SE Runtime Environment
sun.boot.library.path=C:\Program Files\Java\jre1.6.0_07\bin
java.vm.version=10.0-b23
java.vm.vendor=Sun Microsystems Inc.
java.vendor.url=http://java.sun.com/
path.separator=;
java.vm.name=Java HotSpot(TM) Client VM
file.encoding.pkg=sun.io
user.country=US
sun.java.launcher=SUN_STANDARD
sun.os.patch.level=Service Pack 2
java.vm.specification.name=Java Virtual Machine Specification
user.dir=C:\Documents and Settings\bruce\works...
java.runtime.version=1.6.0_07-b06
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs=C:\Program Files\Java\jre1.6.0_07\lib...
os.arch=x86
java.io.tmpdir=C:\DOCUME~1\bruce\LOCALS~1\Temp\
line.separator=java.vm.specification.vendor=Sun Microsystems Inc.
user.variant=
os.name=Windows XP
sun.jnu.encoding=GBK
java.library.path=C:\Program Files\Java\jre1.6.0_07\bin...
java.specification.name=Java Platform API Specification
java.class.version=50.0
sun.management.compiler=HotSpot Client Compiler
os.version=5.1
user.home=C:\Documents and Settings\bruce
user.timezone=Asia/Shanghai
java.awt.printerjob=sun.awt.windows.WPrinterJob
file.encoding=ISO-8859-1
java.specification.version=1.6
user.name=bruce
java.class.path=C:\Documents and Settings\bruce\works...
java.vm.specification.version=1.0
sun.arch.data.model=32
java.home=C:\Program Files\Java\jre1.6.0_07
java.specification.vendor=Sun Microsystems Inc.
user.language=en
awt.toolkit=sun.awt.windows.WToolkit
java.vm.info=mixed mode, sharing
java.version=1.6.0_07
java.ext.dirs=C:\Program Files\Java\jre1.6.0_07\lib...
sun.boot.class.path=C:\Program Files\Java\jre1.6.0_07\lib...
java.vendor=Sun Microsystems Inc.
file.separator=\
java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport...
sun.cpu.endian=little
sun.io.unicode.encoding=UnicodeLittle
sun.desktop=windows
sun.cpu.isalist=pentium_pro+mmx pentium_pro pentium+m...
sdfsd\'f
haÂ?staÂ?
insert into a.aa values(10133053,1,7,'haÂ?staÂ?',38735,1,'2009-02-28 09:32:25.0','null',0)
Exc2成功机器输出
System.getProperties().list(System.out);
--win```````````````dws listing properties --
java.runtime.name=Java(TM) SE Runtime Environment
sun.boot.library.path=C:\Program Files\Java\jre1.6.0_07\bin
java.vm.version=10.0-b23
java.vm.vendor=Sun Microsystems Inc.
java.vendor.url=http://java.sun.com/
path.separator=;
java.vm.name=Java HotSpot(TM) Client VM
file.encoding.pkg=sun.io
user.country=CN
sun.java.launcher=SUN_STANDARD
sun.os.patch.level=Service Pack 2
java.vm.specification.name=Java Virtual Machine Specification
user.dir=C:\Documents and Settings\bruce\works...
java.runtime.version=1.6.0_07-b06
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs=C:\Program Files\Java\jre1.6.0_07\lib...
os.arch=x86
java.io.tmpdir=C:\DOCUME~1\lh\LOCALS~1\Temp\
line.separator=java.vm.specification.vendor=Sun Microsystems Inc.
user.variant=
os.name=Windows XP
sun.jnu.encoding=GBK
java.library.path=C:\Program Files\Java\jre1.6.0_07\bin...
java.specification.name=Java Platform API Specification
java.class.version=50.0
sun.management.compiler=HotSpot Client Compiler
os.version=5.1
user.home=C:\Documents and Settings\lh
user.timezone=
java.awt.printerjob=sun.awt.windows.WPrinterJob
file.encoding=ISO-8859-1
java.specification.version=1.6
user.name=lh
java.class.path=C:\Documents and Settings\bruce\works...
java.vm.specification.version=1.0
sun.arch.data.model=32
java.home=C:\Program Files\Java\jre1.6.0_07
java.specification.vendor=Sun Microsystems Inc.
user.language=zh
awt.toolkit=sun.awt.windows.WToolkit
java.vm.info=mixed mode, sharing
java.version=1.6.0_07
java.ext.dirs=C:\Program Files\Java\jre1.6.0_07\lib...
sun.boot.class.path=C:\Program Files\Java\jre1.6.0_07\lib...
java.vendor=Sun Microsystems Inc.
file.separator=\
java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport...
sun.cpu.endian=little
sun.io.unicode.encoding=UnicodeLittle
sun.desktop=windows
sun.cpu.isalist=pentium_pro+mmx pentium_pro pentium+m...
sdfsd\'f
可惜还是不能得到区分 (是否file.encoding=ISO-8859-1有所区别 这个是不同)另外我用下面的代码、char[] test=new char[collectedName.length()];
collectedName.getChars(0, collectedName.length(), test, 0);
for(int i=0;i<collectedName.length();i++){
System.out.println((byte)test[i]);
}
System.out.println(collectedName);
得到以下输出 源数据是 haÂstaÂ
\'f
104
97
-62
-124
115
116
97
-62
-106
这个代码在2台机器是一样的哦
问题在-62.(机器可能不能找到对应的符号),不知道如何解决这个