Author Topic: Как изменить кодировку?  (Read 17134 times)

0 Members and 1 Guest are viewing this topic.

Zets

  • Освоившийся
  • **
  • Posts: 66
    • View Profile
    • vk.com
Как изменить кодировку?
« on: February 12, 2014, 01:26:38 PM »
Возможно ли в версии 4.7 изменить кодировку?
Скрипт копирует из браузера текст и вставляет в тхт. На одном компе нормально на другом вместо русского знаки вопроса.
В браузере кодировка UTF-8 а в тхт 1251 я так думаю.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Как изменить кодировку?
« Reply #1 on: February 12, 2014, 01:38:52 PM »
А предварительно сохранить txt в UTF-8 ?


Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Как изменить кодировку?
« Reply #2 on: February 12, 2014, 01:46:17 PM »
Кодировка меняется в самой системе.

Code: [Select]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"1250"="c_1251.nls"
"1251"="c_1251.nls"
"1252"="c_1251.nls"
"1253"="c_1253.nls"
"1254"="c_1254.nls"
"1255"="c_1255.nls"
"1256"="c_1256.nls"
"1257"="c_1257.nls"
"1258"="c_1258.nls"
"1361"="c_1361.nls"

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Как изменить кодировку?
« Reply #3 on: February 12, 2014, 02:40:36 PM »
Кодировка меняется в самой системе.
А при чём здесь UTF-8 ? Это же юникод. У него нет кодовых страниц.


Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Как изменить кодировку?
« Reply #4 on: February 12, 2014, 04:31:04 PM »
А при чём здесь UTF-8 ? Это же юникод. У него нет кодовых страниц.
На одном компе нормально на другом вместо русского знаки вопроса.
Частый случай абракадабры из за настроек кодировки.

Крис Тинка

  • Активный участник
  • ***
  • Posts: 171
    • View Profile
Re: Как изменить кодировку?
« Reply #5 on: February 12, 2014, 06:33:22 PM »
Кодировка меняется в самой системе.

Code: [Select]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"1250"="c_1251.nls"
"1251"="c_1251.nls"
"1252"="c_1251.nls"
"1253"="c_1253.nls"
"1254"="c_1254.nls"
"1255"="c_1255.nls"
"1256"="c_1256.nls"
"1257"="c_1257.nls"
"1258"="c_1258.nls"
"1361"="c_1361.nls"
Мне такое не помогло

Zets

  • Освоившийся
  • **
  • Posts: 66
    • View Profile
    • vk.com
Re: Как изменить кодировку?
« Reply #6 on: February 13, 2014, 11:54:19 AM »
Создал в note++ в кодировке 1251 напечатал 1 кириллический символ и сохранил в тхт.  Тепреь норм. Просто 1й символ не удаляю. Криво, но зато решил...

Луций

  • Активный участник
  • ***
  • Posts: 248
  • чат в телеге: https://t.me/klickermannchat
    • View Profile
    • Пишу скрипты на заказ:
Re: Как изменить кодировку?
« Reply #7 on: November 09, 2014, 01:50:19 AM »
а мне вот не помогает, и реестр подправил, и файл в ноте++ отредактил кодировку поменял

все равно туклип вставляет иероглифы

ksa-nsk

  • Освоившийся
  • **
  • Posts: 55
    • View Profile
Re: Как изменить кодировку?
« Reply #8 on: November 10, 2014, 09:05:34 PM »
я чуть ранее о кодировке отметил:
http://crapware.aidf.org/forum/index.php?topic=1532.0

в общем, рекомендую использовать редактор Bred3, в него вставляешь свой текст в своей кодировке, потом жмешь в нем контрол-А, контрол-Х и записываешь себе куда угодно. Только сначала настрой себе открытие текстовых файлов по умолчанию этим редактором и настой вызов окна этого редактора, я об этом тоже недавно пример приводил.

PS вот моя процедура, можешь её допилить под себя
Code: (clickermann) [Select]
//=============================================
// процедура ввода текстовых данных в поля формы

SUB(InputString, $par, $lang, $x_return, $y_return)

        print("$par=", $par)
        print("$hwnd_bloknot=", $hwnd_bloknot)
        print("$x_return=", $x_return)
        print("$y_return=", $y_return)
   
    WNDBUMP($hwnd_bloknot) // помещает окно на передний план
    $code = GETKBLAYOUT($hwnd_bloknot)
        print("$code=", $code)
IF ($lang = "en")
    setkblayout($hwnd_bloknot, 1033)
ELSE
    setkblayout($hwnd_bloknot, 1049)
END_IF
 
    $code = GETKBLAYOUT($hwnd_bloknot)
        print("$code=", $code)

//KEYSTRING($par)
TOCLIP($par)
WAIT(1)
//TOCLIP("0123456789\|/:_+-*ЯяZz")

  KEYDOWN (#CTRL)
        WAITMS (50)
    KEYPRESS (#V)
        WAITMS (50)
    KEYUP (#CTRL)
  WAIT(1)
       
  KEYDOWN (#CTRL)
        WAITMS (50)
    KEYPRESS (#A)
        WAITMS (50)
    KEYPRESS (#X)
        WAITMS (50)
    KEYUP (#CTRL)
  WAIT(3)        
       
  WNDBUMP($hwnd)
    WAIT(1)   
    LCLICK($x_return,$y_return) 
//WAIT(15)
//print("сейчас будет ввод")
//WAIT(4)        
  KEYDOWN (#CTRL)
        WAITMS (50)
    KEYPRESS (#V)
        WAITMS (50)
    KEYUP (#CTRL)
  WAIT(1)
 
END_SUB  // SUB(InputString, $str)

//=============================================

а вот настройка редактора:
(набросал на скорую руку, может не совсем корректно, но работает железно)

Code: (clickermann) [Select]
// запускаем блокнот
$hwnd_bloknot = wndfind("__NotDelete.txt")
print("$hwnd_bloknot=", $hwnd_bloknot)

IF ($hwnd_bloknot = 0)
    execute("__NotDelete.txt")
    $hwnd_bloknot = wndfind("__NotDelete.txt")
        Wait(2)
    WNDBUMP($hwnd_bloknot) // помещает окно на передний план
  ELSE
    WNDBUMP($hwnd_bloknot) // помещает окно на передний план
WNDPOS ($hwnd_bloknot, 50, 50) 
    WNDSIZE($hwnd_bloknot, 500, 300)
    KEYDOWN(#CTRL)
        waitms(13)
    KEYPRESS(#A)
        waitms(13)
    KEYUP(#CTRL)
        waitms(13)
    KEYPRESS(#DELETE)
        waitms(23)
END_IF

$hwnd_bloknot = wndfind("__NotDelete.txt")
  WNDBUMP($hwnd) // помещает основное окно на передний план
  print("$hwnd_bloknot=", $hwnd_bloknot)
    wait(2)

__NotDelete.txt - пустой текстовый файл / для определённости
« Last Edit: November 10, 2014, 09:11:45 PM by ksa-nsk »

Луций

  • Активный участник
  • ***
  • Posts: 248
  • чат в телеге: https://t.me/klickermannchat
    • View Profile
    • Пишу скрипты на заказ:
Re: Как изменить кодировку?
« Reply #9 on: November 11, 2014, 11:26:58 PM »
это я и сам могу сделать, вот таким способом все работает:

execute("notepad.exe", STRCONCAT("C:\eliz\lib.txt"))
   WAIT(1)
   a()
   c()
   keydown(#alt)
   waitms(99)
   keypress(#f4)
   keyup(#alt)
   wait(1)
   v()

а я хочу сделать через:

toclip(TFREAD(lib.txt, 1))
v()

как видите второй способ не открывает лишних окон, сразу копирует весь текст написанный в одну строку и вставляет.
это прокатывает с цифрами и английским, а вот вместо русского вставляет что попало, и самое главное - вместо выбора нужной строки одним параметром приходится гонять по строкам с помощью цикла фор

Луций

  • Активный участник
  • ***
  • Posts: 248
  • чат в телеге: https://t.me/klickermannchat
    • View Profile
    • Пишу скрипты на заказ:
Re: Как изменить кодировку?
« Reply #10 on: November 12, 2014, 01:03:05 AM »
опытным путем определил, что даже

toclip("Игорь")
v()

вставляет кровозяблы, а например:

toclip("Igor")
v()

работает нормально

ksa-nsk

  • Освоившийся
  • **
  • Posts: 55
    • View Profile
Re: Как изменить кодировку?
« Reply #11 on: November 12, 2014, 06:27:51 AM »
)), я же подчеркнул, что не нотепад, а текстовый редактор Bred3 (может и другие есть, не пробовал). У меня с нотепадом кракозябры были, а с Bred3 - нет.

Луций

  • Активный участник
  • ***
  • Posts: 248
  • чат в телеге: https://t.me/klickermannchat
    • View Profile
    • Пишу скрипты на заказ:
Re: Как изменить кодировку?
« Reply #12 on: November 12, 2014, 07:58:09 AM »
я сейчас вообще без блокнотов, просто кидаю в буфер кликера из текста скрипта и пытаюсь вставить в браузер - результат все тот же

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Как изменить кодировку?
« Reply #13 on: November 12, 2014, 09:22:09 AM »
А перед
toclip("Игорь")
v()
переключить кликер на русскую раскладку?


Луций

  • Активный участник
  • ***
  • Posts: 248
  • чат в телеге: https://t.me/klickermannchat
    • View Profile
    • Пишу скрипты на заказ:
Re: Как изменить кодировку?
« Reply #14 on: November 12, 2014, 09:32:32 AM »
вот что выходит: Èãîðü

может это у меня с руками проблемы и у кого то получится?

задача - копирование любой строки из файла в буфер, и потом обычная вставка через контрол+вэ, файл прилагаю