나는이 난에서의 InputStream을 프로세스를 반환인코딩이 작동하지 않는 이유는 무엇입니까? (UTF-8, 문자열, 자바)
Runtime.getRuntime().exec("ping google.de");
을 사용하여 명령을 실행하고 있습니다. 그리고 나는
System.out.println(reader.readLine()); // The returned String of readLine()
// is used to create a javafx.scene.text.Text in my application
그것을 인쇄 할 할 경우 BuffredReader에게
BufferedReader(new InputStreamReader(processInputStream, "UTF-8"));
를 초기화 '?' 'ü', 'ä'또는 'ö'와 같은 문자 대신에
문장은 "이 문자 - 작동하지 않을 것입니다"는 "이 문자 ---- 작동하지 않습니다"로 인코딩됩니다.
이러한 문자를 올바르게 인코딩하는 방법은 무엇입니까?
감사합니다, Basti는
는 추신 : 네,이 질문은 몇 번을 요청하고있다,하지만 난 내 경우
인쇄 대상이 어디까지 망가 트니까? 인쇄 한 글자 당 물음표가 하나 표시되면 멀티 바이트 UTF-8 코드가 올바르게 단일 문자로 디코딩됩니다. –
목표가 무엇입니까? 잘못된 인코딩이 발생하는 idk. 프로세스의 입력 스트림은 바이트만을 스트림합니다. inputstreamreader는 uft-8로 인코딩해야하지만 그렇지 않습니다. BufferedReader는 system-lineseper가 발견 될 때까지 문자 만 리턴합니다. 실패한 inputstreamreader입니까? – Basti
@McDowell 나는 내 readingMethod에 디버깅을했고 readLine()은 이미 '?'가 포함 된 String을 반환합니다. println()이 아닙니다. – Basti