日期:2014-05-20  浏览次数:20603 次

eclipse使用utf8编码在命令行下运行有问题怎么办?
在eclipse下测试向数据库里面post数据,在eclipse下执行没有问题了,可是把程序放到另外一个中文xp的机器上,执行有问题,在那个机器上装了jdk自己编译了也不行,具体情况如下:
1、把java文件拷贝过去手动在命令行下编译,先是提示了编码 GBK 的不可映射字符等 ,查了一下,用javac -encoding UTF-8 TestPost.java解决了。
2、再次执行倒是可以运行了,但是post的数据有中文的,数据库里面没有加进去。
192.168.0.11<br>网络,打球,insert into votetest(ip,inst) values ('192.168.0.11','网络,打球,') 
这是post以后返回的结果,我专门把post的数据都echo了,好像也对啊,但是数据库里面inst字段是空白的,如果我把网络,打球换成aa,bb什么的,数据库里面就没有问题了。

请问,这是什么问题?我的文件是utf8格式的,也按utf8格式编译了,运行不应该没问题了吗?还是还需要进行什么操作?

------解决方案--------------------
使用UTF-8编码运行程序:

java -Dfile.encoding=UTF-8 Test
------解决方案--------------------
Eclipse默认的编写格式是gbk的。
不知道楼主最终写出来的文件时什么格式的。
具体情况看文章也没看出来在哪一环出现的乱码问题。
只是如果按照4楼的方式继续进行下去的话,是否可以把修改ip的功能放到另一个类里面,至于另一个类文件可以用gbk的方式来编码?