在我通过JAVA调用SAP RFC之后,我获取了返回的数据并在eclipse中打印出来。但是eclipse控制台显示错误的编码字符,这是不对的(返回的数据语言是繁体中文)。 enter image description here
我的sap代码页是1100.我试图设置不同的代码页,包括8400,8402,8300,但仍然无法正常工作。
connectProperties.getProperty(DestinationDataProvider.JCO_CODEPAGE, "8400");
如何解决这个问题?
答案 0 :(得分:0)
您的问题不是关于JCo,而是关于如何将字符数据从Java(总是unicode)导出到某个输出流(控制台)以及如何显示它。
控制台输出 - 甚至可能无法使用适当的字体显示数据 - 是无用的测试。至少检查在Java系统环境中设置了哪个默认的file.encoding。
除此之外,我建议将Java字符数据显式写入UTF-8编码文件,并使用能够处理和显示unicode字符的编辑器来显示文件内容。或者,如果您没有Unicode编辑器,则编写一个文件,转换为适合您的角色数据的代码页,例如:对于SAP代码页8400,请使用charset“GB2312”作为java.io.OutputStreamWriter。