JAVA SAPJCO3代码页不起作用

时间:2018-03-02 02:56:09

标签: java eclipse sap sapjco3

在我通过JAVA调用SAP RFC之后,我获取了返回的数据并在eclipse中打印出来。但是eclipse控制台显示错误的编码字符,这是不对的(返回的数据语言是繁体中文)。 enter image description here

我的sap代码页是1100.我试图设置不同的代码页,包括8400,8402,8300,​​但仍然无法正常工作。

connectProperties.getProperty(DestinationDataProvider.JCO_CODEPAGE, "8400");        

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您的问题不是关于JCo,而是关于如何将字符数据从Java(总是unicode)导出到某个输出流(控制台)以及如何显示它。

控制台输出 - 甚至可能无法使用适当的字体显示数据 - 是无用的测试。至少检查在Java系统环境中设置了哪个默认的file.encoding。

除此之外,我建议将Java字符数据显式写入UTF-8编码文件,并使用能够处理和显示unicode字符的编辑器来显示文件内容。或者,如果您没有Unicode编辑器,则编写一个文件,转换为适合您的角色数据的代码页,例如:对于SAP代码页8400,请使用charset“GB2312”作为java.io.OutputStreamWriter。