我想从日本输入JTextField
(用getText()
方法),并保存该到一个文件。 我相信,它从一开始日本格式JTextField
,因为我可以append()
是String
到JTextArea
,这将是在正确的日语格式。
然而,当我尝试写入文件只变成乱码! 我曾尝试使用一个OutputStreamWriter
与实例StandardCharsets.UTF_8
和我有一个简单的尝试FileOutputStream
,我在发送字节数从调用getBytes(StandardCharsets.UTF_8)
的字符串。 在这两种情况下,生成的文件看起来更像如下:
日本語ã�¯é›£ã�—ã�„ã�¨æ€�ã�†ï¼�å¦ã�³ã�Ÿã�„ã�ªã‚‰ã€�日本ã�§ä½�ã‚€
这不是我想要的,自然。 没有人有任何想法是什么问题可能是什么?
我敢肯定你正在创建符合ISO-8859-1,而不是UTF-8的文件。 我还推断,因为你以前的问题,您使用的是Eclipse。
改变你的工作区设置
窗口 - >首选项 - >常规 - >工作空间:UTF-8
默认编码所有内容类型
识别TestClass
这是用来检验理论I类
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
public class test {
public static void main(String[] args) throws IOException {
File fileDir = new File("test.txt");
String japanese = "路権ち点節ヤトツ限聞ド勇売質タカア";
Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileDir)));
out.append(japanese);
System.out.println(japanese);
out.flush();
out.close();
}
}
使用不同的设置的输入/输出
OutputFileISO: 路権ã¡ç¹ç¯ã¤ããéèãå売質ã¿ã«ã¢
OutputFileUTF8: 路権ち点節ヤトツ限聞ド勇売質タカア