AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.02.2012, 11:53   #1  
JIEXA72 is offline
JIEXA72
Участник
 
39 / 10 (1) +
Регистрация: 16.09.2011
При записи в текстовый файл, вместо русских букв записываются крякозябры. С английскими буквами все ок.

HtmlFile.CREATE('F:\test.txt');
HtmlFile.TEXTMODE(TRUE);
HtmlFile.CREATEOUTSTREAM(OutStreamFile);
OutStreamFile.WRITETEXT('Тут должны быть нормальные буквы!');
OutStreamFile.WRITETEXT('English');
HtmlFile.CLOSE;


Все уже, что знаю, перепробовал.

Похоже, что они записываются в ms-dos, потому что если открывать с помощью ворда, и выбрать кодировку MS-DOS то крякозябры превращаются в нормальные буквы.
Старый 01.02.2012, 12:03   #2  
JIEXA72 is offline
JIEXA72
Участник
 
39 / 10 (1) +
Регистрация: 16.09.2011
Проблема решается с помощью кодеюнита Localisation Management
Старый 01.02.2012, 14:57   #3  
Alex Che is offline
Alex Che
Участник
 
74 / 10 (1) +
Регистрация: 04.04.2006
Вообще-то в хелпе пишут, что TEXTMODE должен стоять до CREATE, не думаю, что это поможет, но...

И вообще, зачем нужен STREAM, почему нельзя писать просто в FILE?

UPD: Нет, перестановка не помогла, но пишет без СТРИМа.
Старый 01.02.2012, 21:46   #4  
alexb_imported is offline
alexb_imported
Участник
 
256 / 12 (1) ++
Регистрация: 25.08.2006
Проблема решается подменой кодировки в STREAM'e:

Код:
тextLoc := 'русский текст';
CREATE(StreamLoc);
StreamLoc.Open;
StreamLoc.Charset('windows-1251');  // русская кодировка
StreamLoc.WriteText('textLoc');
Старый 02.02.2012, 06:47   #5  
JIEXA72 is offline
JIEXA72
Участник
 
39 / 10 (1) +
Регистрация: 16.09.2011
Цитата:
Сообщение от AlexB Посмотреть сообщение
Проблема решается подменой кодировки в STREAM'e:

Код:
тextLoc := 'русский текст';
CREATE(StreamLoc);
StreamLoc.Open;
StreamLoc.Charset('windows-1251');  // русская кодировка
StreamLoc.WriteText('textLoc');
Этот код видимо для новой версии навижен. У меня таких функций нет. Версия 4.0 SP3
Старый 02.02.2012, 06:57   #6  
JIEXA72 is offline
JIEXA72
Участник
 
39 / 10 (1) +
Регистрация: 16.09.2011
Щя другая проблема, вместо символа № и ещё буква "я" периодически вылазит, не пойму вместо какого символа.
Старый 02.02.2012, 08:23   #7  
JIEXA72 is offline
JIEXA72
Участник
 
39 / 10 (1) +
Регистрация: 16.09.2011
№ исправил, осталось букву я убрать вместо хз чего
Старый 02.02.2012, 09:01   #8  
JIEXA72 is offline
JIEXA72
Участник
 
39 / 10 (1) +
Регистрация: 16.09.2011
Буква "я" вылазит при разделении на разряды. Получается вот так: 1 300 в файле пишется 1я300.
Старый 02.02.2012, 09:22   #9  
JIEXA72 is offline
JIEXA72
Участник
 
39 / 10 (1) +
Регистрация: 16.09.2011
Сделал так

Код:
  IF EVALUATE(dec,val) THEN 
   BEGIN
      val:= FORMAT(dec, 15, 9);
   END
   ELSE val:= Dos2Win(val);
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 01:02.