使用过IDEA+IBM JDK的朋友请进,JUnit输出乱码问题!

tttk 2007-05-23 07:30:55
环境:
IDEA 6.0.5 + IBM JDK 1.4.2 + JUnit

设置:
IDEA的编码:System Default

乱码问题:
在IDEA中新建一个JUnit测试:
class myTest extends TestCase {
public void test1() {
System.out.print("中国");
}

public void test2() {
FileWriter file = new FileWrite("c:/test.txt");
file.write("中国");
file.flush();
file.close();
}
}
运行test1,控制台中显示:????
运行test2,文件test.txt中为:中国

为了比较,在IDEA中新建一个Java Application项目:
class Main {
static public void main(String[] paras) {
System.out.print("中国");
}
}
运行之,控制台显示:中国

大家帮忙测试一下,是否可以重现这个问题?
烦请帮忙指点,不胜感激。

100分送上!
...全文
961 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
weity 2008-02-29
  • 打赏
  • 举报
回复
给你一个例子,
private void assertMQBean(MQFields mqbean, MQFields a_mqbean) throws Exception{
// 結果比較
byte[] u_DATA_FILE_JTTAI = null;
u_DATA_FILE_JTTAI = Xup2BlobUtilsCall.tanslateHexString2Blob( ((String)mqbean.get("temp_file_data")).trim());
logger_.debug("変換後[" + new String(u_DATA_FILE_JTTAI,"Cp943c") + "]");

// #TEMPファイルデータ
assertEquals(new String(u_DATA_FILE_JTTAI,"Cp943c"), temp_file_data);
}

public void test01() throws Exception {
// テスト名を設定
String testName = "都道府県市町村別(目的)取得 JCOA2120_001";

logger_.debug(testName +" テスト実行開始");

// 業務APに引き渡すインプットのMQ情報を設定
CsvToMQConverter cmqc = new CsvToMQConverter(INPUT_CSV_FILE_01);
// 業務API実行並びに出力側MQデータの取得
MQFields mqbean = (pgmStartMQ(cmqc.getMQFields(), "OA2122")) ;

// 業務APより取得のアウトプットMQ情報を取得および比較
logger_.debug(testName + " MQフロー " + mqbean);
makeExportLog(EXPORT_MQ_FILE
, mqbean
, testName
);

// 出力側の確認MQデータ定義
cmqc = new CsvToMQConverter(OUTPUT_CSV_FILE_01);
MQFields a_mqbean = cmqc.getMQFields();
logger_.debug(testName + " 期待されるMQフロー " + a_mqbean);

FileReader in = new FileReader(OUTPUT_CSV_FILE_01_01);
for (int i = 0 ; ; ) {
i = in.read();
if ( i == -1) break;
temp_file_data = temp_file_data + String.valueOf((char)i);
}
in.close();

// 結果比較
assertMQBean(mqbean, a_mqbean);
}


这是一个综合问题
首先,eclipse里面的代码,是默认的输出编码。
尽量不要使用默认的编码。

然后,读入文件,输出文件,文件比较,都要保持一致。
jspxnet 2008-02-29
  • 打赏
  • 举报
回复
你输出的时候设置一下编码
hcy1985 2008-02-22
  • 打赏
  • 举报
回复
欢迎JAVA人士加入53633581群,大家在这里可以讨论技术问题!
jspxnet 2007-10-30
  • 打赏
  • 举报
回复
1.有可能是你控制台不能够中文显示,先看看控制台有其他中文没有.
2.IDEA的编码:你还是设置一下,一般最好UTF-8, 同时保证你的java代码文件也是UTF-8编码的.
3.你的代码 FileWriter file = new FileWrite("c:/test.txt"); 输出的时候最好也设置编码.
nanjg 2007-10-29
  • 打赏
  • 举报
回复
.properties
cctvtom 2007-08-03
  • 打赏
  • 举报
回复
IDEA对JUNIT支持一直都很差的!
tttk 2007-05-24
  • 打赏
  • 举报
回复
我换了一个JUnit版本,问题依旧,这个好像是IDEA的问题:
java.exe ... com.intellij.rt.execution.ujunit.JUnitStarter -ideVersion5 myTest, test1
rategy 2007-05-23
  • 打赏
  • 举报
回复
看来是junit的问题哦,本来是可以输出中文的。
建议你再输出一些其他符号看看。到底什么情况会有乱码。
tttk 2007-05-23
  • 打赏
  • 举报
回复
希望有人能够帮忙!
tttk 2007-05-23
  • 打赏
  • 举报
回复
不知道是IBM JDK的问题,还是JUnit输出控制台的问题

51,396

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧