+  HandyCache форум
|-+  Главная категория» Общие вопросы» Баг - Неправильная кодировка при копировании в буфер
Имя пользователя:
Пароль:
Страниц: [1]   Вниз
  Отправить эту тему    Печать  
Автор Тема: Баг - Неправильная кодировка при копировании в буфер  (Прочитано 14024 раз)
0 Пользователей и 1 Гость смотрят эту тему.
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« : 21 Январь 2007, 13:30:59 »

NothingAnother

Цитировать
при копировании строки монитора и последующей вставке в какой-нить редактор из буфера обмена - содержимое столбца "Правила" (кириллица только в нём) нечитаемо из-за нераспознаваемой кодировки

Пару раз видел такое и писал mai62, но так и не смог научиться стабильно воспроизводить этот баг! После перезапуска HC у меня все нормально...



Отлично! Исправлено в версии HC 1.0 RC1 !
« Последнее редактирование: 11 Январь 2008, 10:01:04 от DenZzz » Сообщить модератору   Записан
NothingAnother
Beta tester
*****

Репутация: +7/-2
Offline Offline

Сообщений: 434

Spoiler


« Ответ #1 : 21 Январь 2007, 14:06:46 »

не смог научиться стабильно воспроизводить этот баг! После перезапуска HC у меня все нормально...
У меня - стабильно Злой
Сообщить модератору   Записан

Мы тоже не всего читали Шнитке!..
© В. Вишневский
Дем
Постоялец
***

Репутация: +6/-3
Offline Offline

Сообщений: 166



« Ответ #2 : 21 Январь 2007, 17:58:49 »

Цитировать
при копировании строки монитора и последующей вставке в какой-нить редактор из буфера обмена - содержимое столбца "Правила" (кириллица только в нём) нечитаемо из-за нераспознаваемой кодировки
Переключи раскладку клавиатуры в НС Улыбка

Ч.34 (Черный список):
×.34 (×åðíûé ñïèñîê):
Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #3 : 21 Январь 2007, 18:15:26 »

Цитировать
Переключи раскладку клавиатуры в НС


Точно! При английской раскладке клавы в буфер копируется абракадабра! Причем не только при копировании строк Монитора, но и при копировании правил с комментариями на кириллице!

Вот пример из Черного списка:
#4#~#True#~#(?#---Áëîêèðîâêà_âíåøíèõ_ññûëîê).*#~#^[^/]*newsru\.com#~#newsru\.com
« Последнее редактирование: 21 Январь 2007, 19:05:48 от DenZzz » Сообщить модератору   Записан
Дем
Постоялец
***

Репутация: +6/-3
Offline Offline

Сообщений: 166



« Ответ #4 : 22 Январь 2007, 01:50:03 »

Неюникодность программы вылезает... На какой версии дельфей она написана?
Сообщить модератору   Записан
Сергей
Beta tester
*****

Репутация: +9/-2
Offline Offline

Сообщений: 621



« Ответ #5 : 22 Январь 2007, 09:02:56 »

Цитировать
Переключи раскладку клавиатуры в НС
Не помогает Подмигивающий
Всегда по русски копирует.
Сообщить модератору   Записан
Casm
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 23



« Ответ #6 : 22 Январь 2007, 19:48:23 »

Цитировать
Переключи раскладку клавиатуры в НС
сколько не переключал раскладку - у меня все ОК
Сообщить модератору   Записан

HandyCache RC2 1.0.0.103
Mozilla Firefox 3.0.1
Opera 9.52
cepera_ang
Beta tester
*****

Репутация: +9/-4
Offline Offline

Сообщений: 355


« Ответ #7 : 01 Февраль 2007, 02:12:38 »

Да это известный глюк, правда почему он появляется не понятно, корреляций каких-либо не замечал, просто перед копированием ставить всегда русскую раскладку везде, да и все, будет правильно копироваться.
Сообщить модератору   Записан
Дем
Постоялец
***

Репутация: +6/-3
Offline Offline

Сообщений: 166



« Ответ #8 : 01 Февраль 2007, 09:47:49 »

Цитировать
правда почему он появляется не понятно,
Появление его вполне понятно - неполностью юникодовский текстовый контрол в программе. Другое дело, что неизвестно в каких программах какой...
Сообщить модератору   Записан
NothingAnother
Beta tester
*****

Репутация: +7/-2
Offline Offline

Сообщений: 434

Spoiler


« Ответ #9 : 01 Февраль 2007, 10:27:54 »

Да это известный глюк, правда почему он появляется не понятно, корреляций каких-либо не замечал
"почему он появляется", описано в MSDN:
Цитировать
The data is a handle to the locale identifier associated with text in the clipboard. When you close the clipboard, if it contains CF_TEXT data but no CF_LOCALE data, the system automatically sets the CF_LOCALE format to the current input language. You can use the CF_LOCALE format to associate a different locale with the clipboard text. The system uses the code page associated with CF_LOCALE to implicitly convert from CF_TEXT to CF_UNICODETEXT. Therefore, the correct code page table is used for the conversion
т.е. в метаданные MIME-подобного объекта, помещаемого в буфер обмена просто не попадает инф. о локали - и в таком случае винда использует текущую
Цитировать
просто перед копированием ставить всегда русскую раскладку везде, да и все, будет правильно копироваться
Это не выход. Можно вспомнить историю с фотошопом (не помню, каких версий - надеюсь, в текущих уже пофиксено), когда для правильного отображения русского текста требовалось делать маленький подлог - править в реестре таблицу соответствия языков и кодовых страниц, подставляя 1251 и 1033 вместо всевозможных западно- и восточноевропейских языков. В принципе, это равносильно уменьшению правых колёс на автомобиле для езды по маршруту с преобладанием правых поворотов Улыбка
« Последнее редактирование: 01 Февраль 2007, 10:34:43 от NothingAnother » Сообщить модератору   Записан

Мы тоже не всего читали Шнитке!..
© В. Вишневский
mai62
Автор HC
*****

Репутация: +215/-4
Offline Offline

Сообщений: 6186


« Ответ #10 : 01 Февраль 2007, 10:28:38 »

Цитата из справки по win32 SDK
Цитировать
The SetClipboardData function places data on the clipboard in a specified clipboard format.
...
When you close the clipboard, if it contains CF_TEXT data but no CF_LOCALE data, the system automatically sets the CF_LOCALE format to the current input locale. You can use the CF_LOCALE format to associate a different locale with the clipboard text.
На данный момент CF_LOCALE не используется, в следующей версии будет.
Сообщить модератору   Записан
cepera_ang
Beta tester
*****

Репутация: +9/-4
Offline Offline

Сообщений: 355


« Ответ #11 : 01 Февраль 2007, 10:37:14 »

Это не выход. Можно вспомнить историю с фотошопом (не помню, каких версий - надеюсь, в текущих уже пофиксено), когда для правильного отображения русского текста требовалось делать маленький подлог - править в реестре таблицу соответствия языков и кодовых страниц, подставляя 1251 и 1033 вместо всевозможных западно- и восточноевропейских языков. В принципе, это равносильно уменьшению правых колёс на автомобиле для езды по маршруту с преобладанием правых поворотов Улыбка
Хм, а этот фикс очень даже полезный сам по себе, во многих программах исчезают проблемы, и может эта проблема тоже решается, хотя это конечно устранение следствия а не причин Улыбка
Сообщить модератору   Записан
NothingAnother
Beta tester
*****

Репутация: +7/-2
Offline Offline

Сообщений: 434

Spoiler


« Ответ #12 : 01 Февраль 2007, 17:09:22 »

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

Мы тоже не всего читали Шнитке!..
© В. Вишневский
Страниц: [1]   Вверх
  Отправить эту тему    Печать  

 
Перейти в: