Имя: Пароль:
1C
1С v8
как сменить кодировку записи ping`а в лог-файл ?
, ,
0 lim9
 
07.07.14
13:20
получаю пинг вот так:
IPАдрес="ya.ru";
objShell = Новый COMОбъект("WScript.Shell") ;
objScriptExec = objShell.Exec("ping.exe -n 1 " + IPАдрес) ;
strPingResults = (objScriptExec.StdOut.ReadAll()); // это строка с результатом

а в результате в строке strPingResults  все досовские(системные русские) слова заменяются иероглифами.

(ЋЎ¬Ґ­ Ї ЄҐв ¬Ё б ya.ru [213.180.193.3] б 32 Ў ©в ¤ ­­ле:
ЋвўҐв ®в 213.180.193.3: зЁб«® Ў ©в=32 ўаҐ¬п=76¬б TTL=48
‘в вЁбвЁЄ  Ping ¤«п 213.180.193.3:
    Џ ЄҐв®ў: ®вЇа ў«Ґ­® = 1, Ї®«г祭® = 1, Ї®вҐап­® = 0
    (0% Ї®вҐам)
ЏаЁЎ«Ё§ЁвҐ«м­®Ґ ўаҐ¬п ЇаЁҐ¬ -ЇҐаҐ¤ зЁ ў ¬б:
    ЊЁ­Ё¬ «м­®Ґ = 76¬бҐЄ, Њ ЄбЁ¬ «м­®Ґ = 76 ¬бҐЄ, ‘।­ҐҐ = 76 ¬бҐЄ)

Как это побороть?
1 f_vadim
 
07.07.14
13:22
попробуй chcp
2 lim9
 
07.07.14
13:26
а какую поставить для 1с ?
3 f_vadim
 
07.07.14
13:27
хз. я бы попробовал 1251 или utf8
4 f_vadim
 
07.07.14
13:28
utf8 - 65001
5 lim9
 
07.07.14
13:36
objScriptExec = objShell.Exec("chcp 1251");
дает ошибку:
Произошла исключительная ситуация (WshShell.Exec): Не удается найти указанный файл.
6 zlnk
 
07.07.14
13:41
скачать альтернативный пинг на английском?
7 f_vadim
 
07.07.14
13:43
вот так сработало

objScriptExec = objShell.Exec("C:\WINDOWS\system32\chcp.com 1251");
8 Kalambur
 
07.07.14
13:44
пиши в файл
9 Kalambur
 
07.07.14
13:50
так стоп, а где запись в файл? ) файл потом можно прочитать на любой кодировке
10 lim9
 
07.07.14
13:51
благодарю  f_vadim, так сработало
11 IVT_2009
 
07.07.14
13:55
objScriptExec = objShell.Exec("ping.exe -n 1 " + IPАдрес+" >>rez.txt") ;

так записать в файл. если просто > то перепишет. Иначе - допишет
12 lim9
 
07.07.14
14:03
понял, спасибо!