我创建了一个java gui来生成bat文件。 当我写下包含这样一个字符串的蝙蝠:“L'uomopiùforte”notepad ++显示:“L?uomo pi-forte”
以下是代码:
FileOutputStream fos = new FileOutputStream(bat);
Writer w = new BufferedWriter(new OutputStreamWriter(fos, "Cp850"));
String stringa = "L’uomo più forte"
w.write(stringa);
w.write("\n");
w.write("pause");
w.write("\n");
w.flush();
w.close();
我不得不使用cp850进行dos使用。使用base charset bat会出错。
解决方案?
答案 0 :(得分:0)
而不是使用“Cp850”:
Writer w = new BufferedWriter(new OutputStreamWriter(fos, "Cp850"));
尝试使用“UTF-8”:
Writer w = new BufferedWriter(new OutputStreamWriter(fos, "UTF-8"));
有关UTF-8编码Go Here的更多信息。
不要忘记在 stringa 字符串变量声明/初始化的末尾放置分号(; ),并在 try / catch中包围您的代码阻止处理可能的 FileNotFoundException , UnsupportedEncodingException 和 IOException 例外。
...对于NotePad,要提供新行,您还需要提供 \ r 标记:
w.write("\r\n");
答案 1 :(得分:0)
您可以执行以下操作:
echo L’uomo più forte>text.txt
命令。text.txt
文件并将字符串复制到那里。例如,我创建了text.txt文件,将其重命名为test.bat
并附加了echo
命令。这是我的test.bat
文件:
@echo off
echo L'uomo pi— forte
......这是输出:
L'uomo più forte
如果某些字符未正确显示,则使用的代码页不包含此字符。
注意:我建议您使用标准的Windows记事本。在这些情况下,notepad ++程序可能会导致奇怪的输出。