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

0 Members and 2 Guests are viewing this topic.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Как изменить кодировку?
« Reply #30 on: November 13, 2014, 03:44:28 PM »
Вот что я тут хотел сказать, только не моим дилитантским языком:

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

Это может происходить из-за того, что приложение, из которого производится копирование, помещает текст в буфер обмена в 8-битной кодировке, а то, в которое происходит вставка, запрашивает его в Юникоде (так делает, например, Блокнот). Windows "идёт навстречу" и перекодирует текст. При копировании в буфер помещается также информация о языке. Это может делать само приложение, а если не делает, то Windows просто смотрит, на какой язык ввода было переключено приложение в момент копирования. Если на русский, то используется страница 1251 и при вставке всё нормально. Но если текст русский, а окно приложения было переключено в английский, кодирование пойдёт через 1252 страницу и вместо русских букв пойдут "кракозябры". В таких случаях может помочь предварительное переключение приложения, из которого производится копирование, на русский.

Отсюда: http://uahub.info/forum/showthread.php?p=80821

Вариантов 4:
1. Подождать пока Джони добавит при помещении в буфер информацию о языке если это возможно или перейдёт на unicode.

2. Временно вырубить страницу 1252 от не дураков мелко-мягких, тем более, что она нафиг не нужна (мне не нужна, на азербайджанском не пишу  и символы "ö", "ä", "ü" и "ß" в различных приложениях не использую.
Иногда прокатывает только правка реестра. Иногда винда плюёт на настройки реестра, тогда нужно подменить файл c_1252.nls на копию сделанную из c_1251.nls  (папка WINDOWS\system32)
ПЕРЕЗАГРУЗИТЬ систему.

3. Переключать кликер (при запуске или перед командой копирования) на русский язык. Можно через
Code: (clickermann) [Select]
SETKBLAYOUT((WNDFIND("Clickermann - ")), 1049)        // устанавливаем русский для кликермэнаСамо сабой работает на главном окне. Надеюсь вы же не запускаете рабочие скрипты из редактора?

4. Попробовать использовать сторонние программы заменяющие работу с буфером обмена (не уверен поможет ли).

Стоит помнить, что такая проблема возникает у людей не редко и с другими программами. Вариант 1 их не решит всё равно.
« Last Edit: November 13, 2014, 04:06:22 PM by Vint »


Луций

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

теперь вставка из файла русских букв работает правильно, но при этом не хочет работать вставка строки: "1" "2" "3" - вставляет только цифры, без кавычек, сейчас делаю эту вставку таким криворуким способом:

for($i=1, $i<4)
      keydown(#shift)
      keypress(#2)
      keyup(#shift)
      keystring($i)
      keydown(#shift)
      keypress(#2)
      keyup(#shift)
      keypress(#space)
   end_cyc

ksa-nsk

  • Освоившийся
  • **
  • Posts: 55
    • View Profile
Re: Как изменить кодировку?
« Reply #32 on: November 15, 2014, 09:22:36 PM »
А нельзя через toclip запомнить вашу кавычку в переменной, а потом значение этой переменной вставлять вместо кавычек?


Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Как изменить кодировку?
« Reply #33 on: November 15, 2014, 10:13:03 PM »
В кликере всегда были проблемы с кавычками и другими спецсимволами в строках, как и с пустыми строками в файлах. Без фикса этих проблем очень тяжело. Нужно их править в первую очередь.