0

ポーランド語の文字を含むRuntime.getRuntime()。exec()コマンドを実行しようとしています。コマンドは最初のポーランド語の文字から切り取られます。ポーランド語の代わりに「?」が表示されます。

このコマンドを正しく実行するために正しいエンコーディングを設定するにはどうすればよいですか?

私が使用しているコマンド:execCommand( "php / home / script / url param1 param2 param3)

execCommandは次のようになります:

private String execCommand(String command)
{
    String output="";
    try
    {
        Process proc = Runtime.getRuntime().exec(command);
        BufferedReader read = new BufferedReader(new InputStreamReader(proc.getInputStream()));
        try
        {
        proc.waitFor();
        }
        catch(InterruptedException e) 
        {
            output=e.getMessage();
        }
        while(read.ready())
        {
            output=read.readLine();
        }
    }
    catch(IOException e)
    {
        output=e.getMessage();
    }

    return output;
}
4

1 に答える 1

1

You could try the following:

String command = URLEncoder.encode("<your command>", "utf-8");

You could then try to run that via Runtime.exec

You could also check if your JDK actually supported:

Charset.forName("UTF-8")

If this fails for any reasons then there's probably something wrong/not configured in your JDK

于 2013-03-13T19:58:32.633 に答える