次のフォルダーを含む Test というフォルダーがあります。
- EY 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 );
}
コードを 2 回実行しました。1 回は Netbeans デバッガーを使用し、もう 1 回は 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 の略で、OpenText の製品である Livelink サーバー (現在は Content Server と呼ばれています) にフォルダーを作成するために使用されます。
Netbeans から実行すると、フォルダは Livelink サーバーに適切な名前で作成されます。Windows コマンド ラインから実行すると、フォルダ名に多くの疑問符が含まれます。エンコーディングの問題は、フォルダーの名前が結果の Web ページに正しく表示されないことを意味します。
文字列をラピ関数に渡すときに、これを修正してエンコーディングを明示的に設定する方法を知っている人はいますか?