我有一个名为Test的文件夹,其中包含以下文件夹:
然后我有以下代码
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 Server中使用适当的名称创建文件夹。从Windows命令行执行时,文件夹名称包含许多问号。编码问题意味着文件夹的名称无法在生成的网页中正确显示。
有没有人有任何想法如何解决这个问题并在将字符串传递给我的lapi函数时显式设置编码?
答案 0 :(得分:2)
使用此VM(命令行)参数:
-Dfile.encoding=UTF-8