Перейти к содержанию
Fire Monkey от А до Я
  • 0

Сохранение кириллицы в юникоде


Вадим Смоленский

Вопрос

Записываю русский текст в файл:

procedure WriteToFile;
var F: TextFile;
    S: string;
begin
 S:='Русский текст';
 AssignFile(F,MyFile.txt');
 ReWrite(F);
 WriteLn(F,S);
 CloseFile(F);
end;

Тип данных string - по идее, то же, что WideString. То бишь, в строку S записан юникод. Тем не менее, открывая потом файл, вижу, что русский текст сохранен в ANSI. Как добиться его сохранения в юникоде?

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

все просто. используем способы работы с файлами из этого века и все ок

у всех потомков TStream есть конструкторы с параметром Encoding. Используем их и пишем в любой требуемой кодировке.

Ссылка на комментарий
  • 0
11 час назад, Вадим Смоленский сказал:

открывая потом файл

 

Может, проблема в том, чем именно открываете?

Может текст всё-таки хранится правильно, но отображается неправильно?

Ссылка на комментарий
  • 0
2 минуты назад, x11 сказал:

Может текст всё-таки хранится правильно, но отображается неправильно?

Под русской или английской локалью отображается тоже правильно. А вот под японской вся кириллица превращается в чорт знает что. Из чего следует, что хранится она все-таки не в юникоде.

Изучаю способы работы с файлами из этого века, надеюсь победить.

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...