Java 在GUI中打印土耳其语字符

Java 在GUI中打印土耳其语字符,java,character-encoding,turkish,Java,Character Encoding,Turkish,我有一个Java项目,它连接到一个打印土耳其语单词的C程序。使用console在C中打印土耳其语字符不会导致任何问题。然而,主要的问题是,当从Java调用这个C程序时,土耳其语字符被奇怪地打印出来。 我想做的是在控制台上打印输出,并使用JavaGUI重新打印,而不会出现任何土耳其语字符问题。 我真的很感激任何帮助。 提前多谢问题可能是C应用程序正在以一种编码方式对其字符数据进行编码,而Java应用程序正在以另一种编码方式对数据进行解码。假设是Windows,则可能是ANSI/OEM不匹配 您需要

我有一个Java项目,它连接到一个打印土耳其语单词的C程序。使用console在C中打印土耳其语字符不会导致任何问题。然而,主要的问题是,当从Java调用这个C程序时,土耳其语字符被奇怪地打印出来。 我想做的是在控制台上打印输出,并使用JavaGUI重新打印,而不会出现任何土耳其语字符问题。 我真的很感激任何帮助。
提前多谢

问题可能是C应用程序正在以一种编码方式对其字符数据进行编码,而Java应用程序正在以另一种编码方式对数据进行解码。假设是Windows,则可能是ANSI/OEM不匹配


您需要识别C应用程序发出的编码。在Java应用程序中,读取每个字节并检查其十六进制值。检查字节是否正确,或其他任何内容,然后使用适当的代码对其进行适当解码。

我理解问题与字节和字符之间的编码转换有关,但您能否在Java程序连接到C程序的方式上更具体一点?我认为Java发送的字符串编码与预期的不同。举个例子:Java发送的Wórd编码为ISO-8859-1,是4个字节。如果C用UTF-8对其进行解码,它将以错误的方式对与ó相对应的字节进行解码。它通过一个进程进行连接。并且,使用BufferedReader读取输出。BufferedReader stdInput=新BufferedReadernew InputStreamReaderProcess.getInputStream;