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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.06.2019, 11:03   #1  
Nasty2409 is offline
Nasty2409
Участник
 
3 / 10 (1) +
Регистрация: 25.06.2019
Адрес: Санкт-Петербург
? Открыть файл в UTF кодировке в ах3
Добрый день!
Вопрос от новичка. Как открыть файл *.cmt в ах3 в кодировке utf? AsciiIO русские буквы отображает иероглифами. Загружен класс Utf от AndyD, но с ним все равно иероглифы. Ниже часть кода, где обрабатывается файл:
AsciiIO AscFile;
;
for (x=1; x<=conlen(_con); x++)
{
fileName = conpeek(_con,x);
AscFile = new AsciiIO (fileName,"r");
if (!AscFile)
notFindDoc++;
else
{
strFromFile = "";
while (AscFile.status() == IO_Status::Ok)
{
c = AscFile.read();
for (i=0;i<ConLen(c); i++)
strFromFile = strFromFile + ConPeek(c,i+1);
}
strFromFile = Utf8::Ansi2Utf8(strFromFile);
strFromFile = strRem(strFromFile," ");
excel.insertValue("K1",strFromFile,1); //выводятся иероглифы
Старый 26.06.2019, 11:45   #2  
Товарищ ♂uatr is offline
Товарищ ♂uatr
Участник
Аватар для Товарищ ♂uatr
MCBMSS
 
299 / 866 (29) +++++++
Регистрация: 23.10.2012
Добрый день.
Попробуйте через TextIO.
https://docs.microsoft.com/en-us/pre...57992(v=ax.60)

Последний раз редактировалось Товарищ ♂uatr; 26.06.2019 в 11:48.
Старый 26.06.2019, 12:20   #3  
Nasty2409 is offline
Nasty2409
Участник
 
3 / 10 (1) +
Регистрация: 25.06.2019
Адрес: Санкт-Петербург
В ах3 нет TextIO ((( этот класс присутствует в версиях начиная с 4й.

Пробовала еще через TextBuffer, но результат такой же: иероглифы
Если открыть файл через WinAPI::shellExecute(filename); то файл открывается блокнотом в utf-8 и буквы отображаются корректно. Но мне нужно просто обработать имеющийся файл. По идее, вместо AscFile = new AsciiIO (fileName,"r"); должно быть AscFile = new TextIO (fileName,"r", 65001); но в ах3 нет такого класса. Как еще можно сказать аксапте открыть файл в utf-8 не знаю...

Последний раз редактировалось Nasty2409; 26.06.2019 в 13:21.
Старый 27.06.2019, 13:01   #4  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,691 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Вы не в ту сторону конвертируете. У Вас же содержимое файла в кодировке UTF, т.е. после прочтения, то, что прочитали надо конвертировать из UTF в ANSI

Т.е. как-то так надо

X++:
(...)


info(strFromFile);  //test

strFromFile = Utf8::Utf2Ansi(strFromFile);  // Прочитанный UTF конвертировать в ANSI

info(strFromFile);  //test

strFromFile = strRem(strFromFile," "); 
excel.insertValue("K1",strFromFile,1);
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Старый 27.06.2019, 14:06   #5  
Nasty2409 is offline
Nasty2409
Участник
 
3 / 10 (1) +
Регистрация: 25.06.2019
Адрес: Санкт-Петербург
Заработало, спасибо!
Теги
ax3.0, x++

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
записать файл в UTF-кодировке Atani DAX: Программирование 46 09.05.2015 10:37
Как открыть файл Excel, используя OWC Spreadsheet Cardagant DAX: Программирование 3 16.05.2012 00:06
Открыть текстовый файл ansi (win1251) на нерусифицированной Windows. Denicce DAX: Программирование 9 03.03.2011 15:25
Web-портал: открыть файл cherv DAX: Программирование 4 19.05.2008 16:42
Открыть текстовой файл на клиенте? Gorynych_imported DAX: Программирование 1 26.10.2005 21:26

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

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

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