У меня есть папка 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 );
}
Я выполнил код дважды. Один раз с помощью отладчика Netbeans, а другой с помощью файла jar из командной строки Windows.
Отладочный вывод 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 (теперь он называется Content Server), который является продуктом OpenText.
При выполнении из Netbeans создается папка с соответствующим именем на сервере Livelink. При выполнении из командной строки Windows имя папки содержит множество вопросительных знаков. Проблемы с кодировкой означают, что имя папки не отображается должным образом на результирующей веб-странице.
Есть ли у кого-нибудь идеи, как я могу исправить это и явно установить кодировку при передаче строки в мою функцию lapi?