0

我有一个名为 Test 的文件夹,其中包含以下文件夹:

  • 安永 1 P-¦+¡lohy k da+òov+¢m p-¦izn+ín+¡m 2002 - 2004

然后我有以下代码

public static void main( String[] args )
{
    File f = new File( "C:\\Test" );
    File [] children = f.listFiles();

    System.out.println( children[0].getName() );
    System.out.println( System.getProperty("file.encoding") );


    lapi.createObjectEx( 0, 3489025, LAPI_DOCUMENTS.OBJECTTYPE, LAPI_DOCUMENTS.FOLDERSUBTYPE , children[0].getName(), ci, oi );

}

我执行了两次代码。一次使用 Netbeans 调试器,另一次使用 Windows 命令行中的 jar 文件。

Netbeans 调试输出

> EY 1 P-¦+¡lohy k da+òov+¢m p-¦izn+ín+¡m 2002 - 2004
> UTF-8

Windows 命令行输出

> EY 1 P-ª+ílohy k da+‗ov+óm p-ªizn+Ýn+ím 2002 - 2004
> Cp1252

lapi 对象代表 Livelink API,用于在 Livelink Server(现在称为 Content Server)中创建文件夹,这是 OpenText 的产品。

从 Netbeans 执行时,将在 Livelink 服务器中使用适当的名称创建文件夹。从 Windows 命令行执行时,文件夹名称包含很多问号。编码问题意味着文件夹名称无法在生成的网页中正确显示。

有没有人知道我如何能够解决这个问题并在将字符串传递给我的 lapi 函数时显式设置编码?

4

1 回答 1

2

使用此 VM(命令行)参数:

-Dfile.encoding=UTF-8
于 2013-04-21T13:22:01.927 回答