编码 – 使用 UTF-8 正确编码 - java
encode œ correctly with UTF-8 - java
我无法将以下字符串正确写入文件。尤其是“-”字。问题出现在我的本地机器 (Windows 7) 和服务器 (Linux)
字符串:"Cœurs d’artichauts grillées"
有效(œ gets displays correctly, while the apostrophe get translated into a question mark):
Files.write(path, content.getBytes(StandardCharsets.ISO_8859_1));
无效 (result in file):
Files.write(path, content.getBytes(StandardCharsets.UTF_8));
根据this question的第一个答案,UTF-8应该也能正确编码–。有没有人知道我做错了什么?
你的第二种方法有效
String content = "Cœurs d’artichauts grillées";
Path path = Paths.get("out.txt");
Files.write(path, content.getBytes(Charset.forName("UTF-8")));
正在生成一个 out.txt
文件:
Cœurs d’artichauts grillées
很可能您使用的编辑器没有正确显示内容。您可能不得不强制您的编辑器使用 UTF-8 编码和显示 – 和其他 UTF-8 字符的字体。 Notepad++ 或 IntelliJ IDEA 开箱即用。
我无法将以下字符串正确写入文件。尤其是“-”字。问题出现在我的本地机器 (Windows 7) 和服务器 (Linux)
字符串:"Cœurs d’artichauts grillées"
有效(œ gets displays correctly, while the apostrophe get translated into a question mark):
Files.write(path, content.getBytes(StandardCharsets.ISO_8859_1));
无效 (result in file):
Files.write(path, content.getBytes(StandardCharsets.UTF_8));
根据this question的第一个答案,UTF-8应该也能正确编码–。有没有人知道我做错了什么?
你的第二种方法有效
String content = "Cœurs d’artichauts grillées";
Path path = Paths.get("out.txt");
Files.write(path, content.getBytes(Charset.forName("UTF-8")));
正在生成一个 out.txt
文件:
Cœurs d’artichauts grillées
很可能您使用的编辑器没有正确显示内容。您可能不得不强制您的编辑器使用 UTF-8 编码和显示 – 和其他 UTF-8 字符的字体。 Notepad++ 或 IntelliJ IDEA 开箱即用。