msg->CLIPBOARD = кракозябы

Обсуждение программ nnCron и nnCron LITE

msg->CLIPBOARD = кракозябы

Postby yuca » Mon, 19 Jan 2009, 11:07

Code: Select all
.....
TQUERY: "%af%  %crlf%%crlf% to CLIPBOARD ?" 60 No
IF
CLIPBOARD: "%af%
THEN


Сообщение выводится на русском нормально, а вот в CLIPBOARD помещаются кракозябы :|
С кодировкой что то, да ??

add: те когда делаю Ctrl+v получается:
Maxx: çàäàðèë íàì ñêàéëèíê ñâîé êàëåíäàðü
Maxx: ñî ñâîåé æå ðåêëàìîé
Maxx: òàì òàêîé êàðòèíêà - Ñèäèò ìóæèê ñ íîóòîì íà êàêîé òî ñêàëå, òèïà â èíåòå
Maxx: òàê è õî÷åòñÿ ñäåëàòü íàäïèñü - íàêîíåö-òî ÿ íàøåë ìåñòî ãäå íîðìàëüíî ëîâèòñÿ ñêàéëèíê!
yuca
 
Posts: 15
Joined: Thu, 17 May 2007, 10:38

Re: msg->CLIPBOARD = кракозябы

Postby yuca » Wed, 21 Jan 2009, 10:28

ну помогите а ?
yuca
 
Posts: 15
Joined: Thu, 17 May 2007, 10:38

Re: msg->CLIPBOARD = кракозябы

Postby Dark_Jones » Wed, 21 Jan 2009, 13:30

Возможно, следует проверить раскладку клавиатуры (рус/англ) _перед_ помещением текста в буфер обмена.
Dark_Jones
 
Posts: 414
Joined: Thu, 09 Nov 2006, 00:43
Location: Russia, S.Peterburg

Re: msg->CLIPBOARD = кракозябы

Postby yuca » Wed, 21 Jan 2009, 14:49

Поместил в буфер при RU раскладке - не помогло, тоже самое :|
yuca
 
Posts: 15
Joined: Thu, 17 May 2007, 10:38

Re: msg->CLIPBOARD = кракозябы

Postby Valery_Kondakoff » Wed, 21 Jan 2009, 15:14

это известная проблема с виндовым клипбордом (если ты, конечно, сам ничего не напутал при заполнении переменной).

решение "в лоб" такое:

Исправить в реестре следующие значения.
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"1250"="c_1251.nls"
"1252"="c_1251.nls"
CU
VK
User avatar
Valery_Kondakoff
Site Admin
 
Posts: 769
Joined: Thu, 01 Jul 2004, 20:49
Location: Moscow, Russia

Re: msg->CLIPBOARD = кракозябы

Postby yuca » Thu, 22 Jan 2009, 07:12

Поправил реестр, перезагрузил только Explorer (Винду пока не могу всю перезагрузить).
Не помогло.
раскладка RU

Еще такой момент, в файле ...\nncron\var\af текст нормальный, win 1251
Code: Select all
#( aphorism_show
Time: 50 9-20 * * * *
Also
WatchHotKey: "^@m"
fVAR  af
\ : str S" D:\Site\7\s\rnd_phrase.txt"  FILE
Action:
S" D:\Site\7\s\rnd_phrase.txt" FILE TO af
BEEP: 100 1000
TQUERY: "%af%  %crlf%%crlf% to CLIPBOARD ?" 60 No
IF
CLIPBOARD: "%af%"
yuca
 
Posts: 15
Joined: Thu, 17 May 2007, 10:38

Re: msg->CLIPBOARD = кракозябы

Postby spronkin » Sat, 07 Dec 2013, 14:02

Не хочу плодить новую тему, но у меня та же проблема с кодировкой виндового буфера, что и у вас.
clips.txt:
Code: Select all
interface ge-3/0/5.980;
        interface ae0.2540;
        interface ae0.2590;
        route-distinguisher 65000:196;
        vrf-target {
            import target:65000:196;
            export target:65000:196;
        }
        vrf-table-label;
        routing-options {
АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя

Code: Select all
Action:
    READ-BY-LINE: "clips.txt"
        FOUND-LINE CLIPBOARD!
        PAUSE: 100
        FILE-APPEND: "c:\nncron\test.txt" "%CLIPBOARD%%crlf%"
        \ FILE-APPEND: "c:\nncron\test.txt" "%FOUND-LINE%%crlf%"
        PAUSE: 100
    ;READ-BY-LINE

В результате команда FILE-APPEND каждый раз успешно дописывает содержимое переменной CLIPBOARD в файл test.txt в кодировке windows-1251 построчно, т.е. я вижу то же, что и в clips.txt, а вот если вставить последнюю русскоязычную строку в блокнот, получается так:
Code: Select all
ÀÁÂÃÄŨÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäå¸æçèéêëìíîïðñòóôõö÷øùúûüýþÿ

Т.е. если я делаю CTRL-V в блокноте, вставляется это. При этом англоязычные символы вставляются без изменений. Я даже понять не могу, что это за кодировка. Но точно не Win-1252 и не 1251...

Получается nncron-ский буфер содержит данные в одной кодировке, а буфер windows принимает их в другой кодоировке.
Если буфер nncron и windows не дружат, может быть можно как-то предварительно изменить кодировку помещаемого в переменную CLIPBOARD текста (например, сторонней программой "| recode CP866..CP1251/CR-LF")?

Кодовые страницы в реестре тоже менял (комп не перегружал) - не помогает. (Win7 pro x64)
User avatar
spronkin
 
Posts: 86
Joined: Sun, 15 Jan 2012, 13:56

Re: msg->CLIPBOARD = кракозябы

Postby spronkin » Sat, 07 Dec 2013, 14:25

Valery_Kondakoff wrote:это известная проблема с виндовым клипбордом (если ты, конечно, сам ничего не напутал при заполнении переменной).

решение "в лоб" такое:

Исправить в реестре следующие значения.
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"1250"="c_1251.nls"
"1252"="c_1251.nls"


Перезагружал раб.станцию с Windows 7, попробовал на другой машине с XP SP3 - то же самое! По-видимому, проблема в чем-то другом. У вас нормально моя задачка отрабатывает?
User avatar
spronkin
 
Posts: 86
Joined: Sun, 15 Jan 2012, 13:56


Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 2 guests

cron