179 / 69 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
1
Builder 6

Указать кодировку при записи событий в текстовый файл

04.04.2018, 22:40. Показов 1830. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Сообщения об ошибках добавляются в поле Memo и затем по кнопке сохраняются в файл:
C++
1
Memo2->Lines->SaveToFile("D:\\spt.log");
В поле Мемо - кирилица отображается как надо, а вот в файл вместо русских букв летит абракадабра.
Попробовал так:
C++
1
2
3
4
5
    String sFName = ExtractFilePath(ParamStr(0)) +  "spt.log";
    String s = "Привет.";
    ofstream out(sFName.c_str(), ios::app);
    out<<s.c_str()<<endl;
    out.close();
кирилица отобразилась как положено.
Может существует какой-то дополнительный параметр как в первом (SaveToFile) так и во втором (ofstream open) случае указывающий нужную кодировку для записи. (У меня C++Builder6, как я понимаю в нём ANSI).
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.04.2018, 22:40
Ответы с готовыми решениями:

Как изменить кодировку для записи в файл
Пытаюсь записать данные в лог файл. Параметрами получил String pMessage Далее FILE...

Как указать кодировку UNICODE при записи в файл?
Пытался найти разную инфу по поводу записи в файл с определенной кодировкой, однако ни один мне не...

Определить кодировку при записи в текстовый файл
Выдает, что gedit не может определить кодировку при записи в текстовый файл. Как это исправить...

Как изменить кодировку при записи в файл
void MainWindow::on_pushButton_3_clicked() { QString fr=...

7
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
05.04.2018, 00:16 2
C++
1
Memo2->Lines->SaveToFile("D:\\spt.log",TEncoding::UTF8);
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32932 / 21257 / 8161
Регистрация: 22.10.2011
Сообщений: 36,514
Записей в блоге: 8
05.04.2018, 00:24 3
Лучший ответ Сообщение было отмечено jkrnd как решение

Решение

Sasha,
Цитата Сообщение от jkrnd Посмотреть сообщение
C++Builder6
, возможность добавлять Encoding появилась, как только Билдер стал Юникодным, то есть, в RAD 2009...
2
179 / 69 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
05.04.2018, 13:17  [ТС] 4
volvo, а если работаешь в Buildere6, как избежать кракозябр при сохранении в файле?
0
106 / 93 / 44
Регистрация: 26.07.2015
Сообщений: 197
05.04.2018, 14:17 5
В Memo->Font->Charset измени DEFAULT_CHARSET на RUSSIAN_CHARSET.
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32932 / 21257 / 8161
Регистрация: 22.10.2011
Сообщений: 36,514
Записей в блоге: 8
05.04.2018, 14:33 6
Цитата Сообщение от jkrnd Посмотреть сообщение
как избежать кракозябр при сохранении в файле?
Ты будешь смеяться, но у меня никаких кракозябр нет:
Миниатюры
Указать кодировку при записи событий в текстовый файл  
1
179 / 69 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
05.04.2018, 21:14  [ТС] 7
Цитата Сообщение от volvo Посмотреть сообщение
у меня никаких кракозябр нет
на работе стоит WinXP - там есть. Дома Win8.1 - тут всё ОК.

Добавлено через 4 минуты
и появляются они только когда применяешь
C++
1
Memo2->Lines->SaveToFile("D:\\spt.log");
а когда пишешь в файл через << , то всё в порядке.
0
volvo
05.04.2018, 21:17     Builder 6 Указать кодировку при записи событий в текстовый файл
  #8

Не по теме:

Скриншот вообще снимался с Win2000, если что (оно у меня в виртуалке, так-то я на Debian совсем перешел)

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.04.2018, 21:17

Как задать кодировку при записи в файл или чтения из него
У меня блокнот Notepad++, своей программой я записываю в некоторый текстовый файл все символы...

Как указать формат ячейки при записи в файл csv
Ребята, не подскажите как указать формат ячейки при записи в файл csv? В коде выделил красным...

Странности при записи в текстовый файл
здравствуйте, есть код Sub С() Const vbs_files = &quot;D:\ДНСД\ДНСД.vbs&quot; 'путь к файлу...

Ругань при записи в текстовый файл
Беда случилась. Голова кругом, то переписывает в документ то ошибка 102 то ошибка 32. Соль:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru