Войти

Показать полную графическую версию : [решено] Разница между FileWrite(FileWriteLine) и написанием ручками в блокноте


TERMINAL
06-11-2010, 17:48
Добрый день !
Суть проблемы такая... Если я ручками в блокноте создаю текстовый файл, то он для моих нужд работает, а если точно такой же создаётся файл скриптом AutoIt с помощью команд FileWrite или FileWriteLine, то он для моих нужд уже не подходит (изчезает русский язык, отображается только английский). Хотя если их рядом открыть то на вид ни чем не отличаются, разве что файл написанный AutoIt с помощью команд FileWrite или FileWriteLine по размеру почему то меньше того который был набран ручками...
В чём заковыка ?

В архиве два файла :
txt.au3 - написанный скрипт который создаёт Menu.lst;
Menu.lst - который написанный ручками в блокноте.

Creat0R
06-11-2010, 18:11
В чём заковыка ? »
В том что ты не выложил свой скрипт и файл который ручками написал.

amel27
07-11-2010, 03:07
разве что файл написанный AutoIt с помощью команд FileWrite или FileWriteLine по размеру почему то меньше того который был набран ручками »
- открываем "набранный ручками" файл в блокноте;
- идём в меню блокнота: файл -> сохранить как;
- читаем значение поля "кодировка";
- смотрим в AutoIT справку по FileOpen (параметр MODE)

Iska
07-11-2010, 03:36
Вложенный в архив файл «Menu.lst» содержит текст в кодировке UTF-8 и содержит BOM. Файл «Menu.lst», формируемый скриптом, создаётся в кодировке ANSI. Для того, чтобы получить файл, аналогичный приложенному к архиву, следует добавить к перечислению mode:
128 = Use Unicode UTF8 (with BOM) reading and writing mode. Reading does not override existing BOM.
$fileMENU = FileOpen(…, 1 + 128)
Ну, и, поправить расположение и количество «@CrLf»'ов.

P.S. Надо бы мне, перед тем как отправлять сообщение, проверять, не ответил ли уже кто-нибудь :).

TERMINAL
08-11-2010, 09:44
Iska, amel27, Спасибо всем ! у меня просто нет подробного описания про параметр MODE.




© OSzone.net 2001-2012