Ошибки APK

В C# буква ə становится вопросительным знаком

На азербайджанском Windows старая таблица текста часто 1254. Это турецкая таблица. В ней есть ü, ö, ş, ğ, ç и ı. Буквы ə нет. Encoding.GetEncoding(1254) не может её сохранить и ставит ?.

Сделай файл и консоль UTF-8. Не пиши 1254.

  • Пиши файл так: File.WriteAllText("metn.txt", "Azərbaycan", new UTF8Encoding(true)).
  • Не пиши Encoding.GetEncoding(1254) и Encoding.Default. Буквы ə там нет.
  • Если в консоли квадрат, сначала поставь Console.OutputEncoding = Encoding.UTF8.
  • Старый csc читает исходник системной таблицей. Сохрани файл .cs как UTF-8 с BOM.
  • Если буква уже ?, код её не вернёт. Напиши текст заново.
using System.Text;

Console.OutputEncoding = Encoding.UTF8;
File.WriteAllText("metn.txt", "Azərbaycan", new UTF8Encoding(encoderShouldEmitUTF8Identifier: true));

Похожие руководства