In Java the letter ə breaks for Excel
FileWriter writes the file with the system table. On Azerbaijani Windows that is often Cp1254. ə is not there, so the letter becomes ?.
Files.writeString writes UTF-8, but it does not put three bytes at the start. Excel can still open that file with the system table. ödəyici then looks like ödÉ™yici.
Put EF BB BF at the start. Do not write Cp1254.
- Write the CSV with the three bytes above. Excel then sees
ə. - Do not write
new FileWriter("metn.csv"). It picks the table itself andəis lost. Cp1254andwindows-1254do not store the letter. Do not pick a table other than UTF-8.Files.writeStringdoes not add a BOM. That is enough for a browser, not for Excel.- If the letter in the file is already
?, Java cannot bring it back. Write the text again.
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);
- python is not recognized
- The letter ə shows as a square
- Excel breaks the letter ə
- The letter ə becomes a question mark on the page
- Excel opens the CSV as one column
- PowerShell will not run the script
- In JSON the letter ə becomes \u0259
- APK will not install
- What is a parse error?
- The keystore is lost
- The signatures do not match
- Package name error
- The APK file is damaged
- Blocked by Play Protect
- Package appears to be invalid
- Not enough storage
- App not compatible with your device
- An older version will not install
- XAPK will not install
- ödəyici turns into ödÉ™yici
- In C# the letter ə becomes a question mark
- A WhatsApp chat breaks ə in Excel
- In a PDF the letter ə becomes a square
- In MySQL the letter ə becomes a question mark
- In an SMS the letter ə cuts the message to 70 characters
- In PHP the letter ə becomes a question mark
- On Android the letter ə becomes a question mark
- A QR code will not take the letter ə
- How to check the Azerbaijan IBAN sample
- The ninth digit of a VÖEN cannot be calculated
- Gradle sync failed
- Could not resolve a dependency
- Duplicate class error
- Manifest merger failed
- Dex limit: 65536 methods
- R8: Missing class
- JDK version mismatch
- SDK location not found
- minSdkVersion conflict
- compileSdk is too low
- EAS build: Gradle failure
- expo prebuild error
- Metro: Unable to resolve module
- Hermes: JS error only in release
- White screen in release
- Red screen: cannot reach Metro
- Expo SDK mismatch
- Capacitor sync error
- Capacitor: white screen
- EAS: keystore and credentials error
- Keystore was tampered with / wrong password
- Wrong key alias or password
- Play: signed with the wrong key
- INSTALL_FAILED_UPDATE_INCOMPATIBLE
- INSTALL_FAILED_VERSION_DOWNGRADE
- INSTALL_FAILED_INSUFFICIENT_STORAGE
- INSTALL_FAILED_NO_MATCHING_ABIS
- Parse error (problem parsing the package)
- "App not installed" error
- Installing an AAB file on a phone
- adb: device "unauthorized"
- adb: device not found
- adb server version mismatch
- Activity class does not exist
- Play: targetSdk level too low
- Play: permissions policy rejection
- Play: 64-bit requirement
- Play: versionCode already used
- ClassNotFound / NoSuchMethod crash
- OutOfMemoryError crash
- CLEARTEXT communication not permitted
- SecurityException: permission denied