2013-04-21 71 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

相關問題