2013-04-21 70 views
0

我有一个名为与下面的文件夹Test文件夹:传递字符串在正确的编码功能的Java

  • EY 1 P-| +¡lohyķDA + OOV +¢米的p |izn + IN +¡米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 

的拉皮对象代表Livelink的API,用来创建一个Livelink的服务器(现在称为内容服务器)的文件夹,其是来自OpenText的产品。

从Netbeans执行时,该文件夹在Livelink Server中使用适当的名称创建。从Windows命令行执行时,文件夹名称包含大量问号。编码问题意味着该文件夹的名称在结果网页中无法正确显示。

有没有人有任何想法我可以解决这个问题,并明确地设置编码时,将字符串传递给我的lapi函数?

+1

此相关的问题可能会帮助:设置默认的Java字符编码(http://stackoverflow.com/questions/361975/setting-the-默认-java-character-encoding) – 2013-04-21 13:24:08

+0

谢谢,会有一个阅读。 – Bruno 2013-04-21 13:42:37

回答

2

使用此VM(命令行)的说法:

-Dfile.encoding=UTF-8 
+0

它似乎工作,但会标记为正确之前等待其他答案:-) – Bruno 2013-04-21 13:43:12

相关问题