![]() |
#32 |
Moderator
|
Добрый день!
Необходимо из Аксапты 3.0 SP3 выгружать csv файлы в UTF-8 кодировки. 1. Попробовал решение AndyD - в некоторых строках появились дополнительные кракозябры 2. Скачал внешний кодировщик , вызываю его кодом: X++: void encodeFile(str _path) { ; WinAPI::shellExecute("recode", strFmt("-f cp1251...utf-8 %1", _path)); } Т.е. мой кодировщик recode кодирует в utf8_without_bom, а заказчику нужен чистый utf-8 c этим BOM-символом. 3. Пробую на C# написать перекодирование в UTF-8: X++: FileStream fs = File.Open("E:\\data\\1\\test2.txt", FileMode.Open); StreamReader sr = new StreamReader(fs, Encoding.Default); string asciText = sr.ReadToEnd(); FileStream fsw = File.OpenWrite(@"E:\\data\\1\\test4.txt"); Byte[] info = new UTF8Encoding(true).GetBytes(asciText); fsw.Write(info, 0, info.Length); Не подскажете как получить файл в кодировке UTF-8 with BOM (просто UTF-8 по мнению Notepad++)? |
|