أخطاء APK

في Java يفسد حرف ə من أجل Excel

FileWriter يكتب الملف بجدول النظام. في Windows الأذربيجاني هذا غالبًا Cp1254. ليس فيه ə، فيصير الحرف ?.

Files.writeString يكتب UTF-8 لكنه لا يضع ثلاث بايتات في الأول. قد يفتح Excel ذلك الملف بجدول النظام أيضًا. فتبدو ödəyici كـ ödÉ™yici.

ضع EF BB BF في الأول. لا تكتب Cp1254.

import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;

byte[] bom = new byte[] {(byte) 0xEF, (byte) 0xBB, (byte) 0xBF};
byte[] metn = "ad\nAzərbaycan\n".getBytes(StandardCharsets.UTF_8);
byte[] fayl = new byte[bom.length + metn.length];
System.arraycopy(bom, 0, fayl, 0, bom.length);
System.arraycopy(metn, 0, fayl, bom.length, metn.length);
Files.write(Path.of("metn.csv"), fayl);