Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 29, 2008 08:46:07

Vad
От:
Зарегистрирован: 2008-08-28
Сообщения: 94
Репутация: +  0  -
Профиль   Отправить e-mail  

Python и буфер обмена

Копирую используя win32clipboard строку в буфер обмена, далее вставляю в Word с помощью Ctrl+V ..
на моей машине все корректно, на другой машине запускал при вставке русские буквы отображались абракадабра….какие то проблемы с кодировкой…может кто сталкивался , подскажет как корректно работать с win32clipboard.



Офлайн

#2 Авг. 29, 2008 09:48:51

ice
От:
Зарегистрирован: 2008-01-12
Сообщения: 156
Репутация: +  0  -
Профиль   Отправить e-mail  

Python и буфер обмена

У машины локаль юникодная? Вообще на сколь помню надо строку в юникод приводить, а потом класть в буфер.



Офлайн

#3 Авг. 29, 2008 09:54:58

Vad
От:
Зарегистрирован: 2008-08-28
Сообщения: 94
Репутация: +  0  -
Профиль   Отправить e-mail  

Python и буфер обмена

в скрипте ставлю кодировку cp1251
#!/usr/bin/env python
# -*- coding: cp1251 -*-
Как преобразовать в юникод так и не разобрался до конца…..
Копирую в буфер так:
self.text_ctrl_1.SetSelection(-1,-1)
res = self.text_ctrl_1.GetStringSelection()
win32clipboard.OpenClipboard()
win32clipboard.EmptyClipboard()
win32clipboard.SetClipboardText(res)
win32clipboard.CloseClipboard()



Офлайн

#4 Сен. 1, 2008 11:25:42

The gray Cardinal
От:
Зарегистрирован: 2007-03-07
Сообщения: 422
Репутация: +  0  -
Профиль   Отправить e-mail  

Python и буфер обмена

Vad
Копирую используя win32clipboard строку в буфер обмена, далее вставляю в Word с помощью Ctrl+V ..
http://www.script-coding.info/CodePages.html
См. последний раздел “Разрешение проблем”.
http://www.script-coding.info/AutoHotkey/AhkRussian_3b.html
См. Начиная со слов “А вот еще на тему русского языка”



Офлайн

#5 Сен. 1, 2008 13:12:09

Vad
От:
Зарегистрирован: 2008-08-28
Сообщения: 94
Репутация: +  0  -
Профиль   Отправить e-mail  

Python и буфер обмена

Вот так вроде как решил проблему с уникодом:
str = unicode(res,“cp1251”)
win32clipboard.OpenClipboard()
win32clipboard.EmptyClipboard()
win32clipboard.SetClipboardData(win32con.CF_UNICODETEXT, str)
win32clipboard.CloseClipboard()



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version