0 / 0 / 0
Регистрация: 17.11.2016
Сообщений: 6
|
|||||||||||
1 | |||||||||||
Проблема с кодировками при использовании Thunderbird 45.4.017.11.2016, 14:57. Показов 5094. Ответов 10
Метки нет (Все метки)
Приветствую.
У меня следующая проблемка с кодировками. Самая живая на мой взгляд тема и ближе всего к cmd + javascript. Сразу говорю ... писать на форум мозилы смысла не вижу ... т. к. в прошлый раз мне с этой темой никто не помог и в этот раз думаю тоже ... но тема таже самая (там все кратенько, загляните чисто для подробностей) https://forum.mozilla-russia.o... 57#p706457 После обновления с версии Thunderbird 38.5.1 на 45.4.0 перестала отрабатывать функция конвертации переменной определенной в windows в переменную javascript опеределенную в автоконфиге thunderbird.cfg. Если кратко, я получаю ФИО пользователя из AD и запихиваю его в переменную %FULLNAME% в Windows:
Перечитал кучу тем ... через BAT, я так понимаю, можно только создать файлик в кодировке UTF-8 (без BOM), но я не могу создать переменную в кодировке UTF-8 (без BOM), например, %FULLNAME_UTF8%. Единственный вариант, который, я думаю, можно реализовать с моими способностями, это создать файлик с правильной кодировкой и положить его куда-нибудь рядом с профилем пользователя и его уже указать в качестве переменно javascript, но не хотелосьбы лишних костылей. Может кто что подскажет?
0
|
17.11.2016, 14:57 | |
Ответы с готовыми решениями:
10
проблема с кодировками при выводе из БД проблема с кодировками при вставке содержимого файла Проблема с кодировками Проблема с кодировками в Ajax |
17.11.2016, 17:01 | 2 |
fullname - в какой кодировке? Распечатывать пробовали? что там видно? Может, она уже исходно в UTF-8?
Крякозяблики покажите? Вам только javascript код походит или jscript тоже? (намекаю на использование объектов ActiveXObject, как в первом посте темы "Перекодировка текста (сборник кодов для различных кодовых страниц)", спойлер "Любая кодировка в любую") Добавлено через 1 минуту ну можно и так. Создать, потом прочитать его. Но лучше так не делать, сразу через jscript.
0
|
0 / 0 / 0
Регистрация: 17.11.2016
Сообщений: 6
|
|
17.11.2016, 17:21 [ТС] | 3 |
0
|
0 / 0 / 0
Регистрация: 17.11.2016
Сообщений: 6
|
|
17.11.2016, 17:45 [ТС] | 4 |
Добавлено через 10 минут
А разве там не нужен именно файл на входе и на выходе? Или вы предлагаете взять thunderbird.cfg перекодировать его в 866 потом записать в него параметр (опять же парсить, менять), потом конвертнуть его уже в 65001 (UTF-8 (без BOM)). В таком случае проще отдельно файлик с ФИО положить, а то как-то корявенько получается.
0
|
17.11.2016, 17:53 | 5 |
Сообщение было отмечено ComSpec как решение
Решение
В виде текста, а не скриншотом.
Ну да ладно. Вижу, что UTF8 -> Latin. Так пробовали? Код
defaultPref("mail.identity.id1.fullName", fullname); в том примере нужен. Но поток можно загрузить и виде массива. ничего такого я не предлагал.
1
|
0 / 0 / 0
Регистрация: 17.11.2016
Сообщений: 6
|
|
17.11.2016, 18:12 [ТС] | 6 |
Обалдеть, прокатило. Удалил целиком функцию function utf8 (text) для чистоты эксперемента и отредактировал как Вы сказали. Похоже Thunderbird что-то у себя подкрутил и теперь костыль в виде функции не требуется Целый день убил сегодня на это.
Спасибо, что уделили время. Знал, что на Вас можно положиться А может на последок подскажите, как узнать в какой кодировке у меня хранится переменная в Windows? Или как так получилось? Может это и не Thunderbird поправил, а просто у меня переменные одинаково называются FULLNAME и fullname, и javascript каким-то образом переписал значение в Windows. Т. е. как Вы пришли к такому выводу? echo %FULLNAME%
0
|
17.11.2016, 18:31 | 7 | |||||
Вот так:
Начать с процедуры её генерации, переписав так:
Это поможет, если в тексте будет хоть один знак кириллицы. Вообще, в ANSI (cp-1251), но хз, у Windows 8/10 часть CMD команд выдают юникод, так что по-разному может быть в разных версиях ОС.
0
|
17.11.2016, 19:18 | 8 | |||||
Думаю, что это из-за того что после обновления слетели некоторые настройки, в частности стандартная кодировка при составлении письма:
0
|
0 / 0 / 0
Регистрация: 17.11.2016
Сообщений: 6
|
|||||||||||||||||||||||||||||||||||||||||
17.11.2016, 20:32 [ТС] | 9 | ||||||||||||||||||||||||||||||||||||||||
Такой настройки у меня нет ни в файлике автоконфигурации thunderbird.cfg, который лежит рядом с thunderbird.EXE ни в папке профиля пользователя C:\Users\user\AppData\Roaming\Thunderbird\Profiles\g6e7ec0b.default\prefs.js, который переопределяет параметры автоконфига thunderbird.cfg. Его добавление ничего не меняет ни в true ни в false. Пробовал конвертировать файл prefs.js через Notepad++ в ANSI думал может автоматом переконвертирует весь файл - нет, вбивал в кодировке ANSI ФИО ("Имя отправителя") , думал будет конвертировать автоматом ФИО ("Имя отправителя") в UTF8 - нет, просто пустое поле показвал. Проверял формат создаваемых новых сообщений кодировку, всегда "Юникод" стоит. И кучу других тестов, но нигде не нашел как же этот параметр работает и за что конкретно отвечает.
Если Вас не затруднит, ткныте носом в пример, что же должно менятся когда этот параметр включен или выключен? Теперь по поводу ФИО ("Имя отправителя") и моих экспериментов. Я поторопился радоваться, но направления было верным. Опишу подробно мои тесты. Сразу хочу обратить внимание нужна обязательная перезагрузка машинки, т. к. именно после перезагрузки все и слетало на нет. Вобщем для чистоты эксперемента ребут обязателен в моем случае. Исходный конфиг: Кликните здесь для просмотра всего текста
Тест 1 Редактирую строчку, убираю ТОЛЬКО вызов функции utf8. Перезагружась. Кликните здесь для просмотра всего текста
было
Получаю корректное отображение ФИО ("Имя отправителя") в Thunderbird. Тест 2 Решаю убрать и саму функцию utf8. По логике, если я ее не использую, зачем она мне в конфиге. Перезагружаюсь. Кликните здесь для просмотра всего текста
было
Получаю тоже самое, что и при экспериментах с кодировкой и параметром user_pref("prefs.converted-to-utf8", true);, а именно пустоту в строке ФИО ("Имя отправителя") в Thunderbird. ТЕСТ 3 Меняю переменную fullname на fullname_thunderbird, чтобы избежать некорректной обработки с переменной FULLNAME в Windows. Кликните здесь для просмотра всего текста
было
Кликните здесь для просмотра всего текста
стало
Получаю корректное отображение ФИО ("Имя отправителя") в Thunderbird. ИТОГ 1. Thunderbird как-то все-таки обрабатывает автоматом переменную в Windows и записывает к себе уже в формате utf-8, скорей всего в каком формате находится сам файл thunderbird.cfg, в током и происходит запись, не проверял. Кодировка по умолчанию в Windows 7 OEM 866, это неоднократно проверялось в скриптах. 2. Переменные всеже пересикались, странно что, долгое время все работало и почему-то с самого начала не сделал разные переменные. 3. Ну и итоговый конфиг ... для закрепления без всякий дополнительных функций вообще:
0
|
17.11.2016, 21:18 | 10 | |||||
Я считаю, что при установке свойства converted-to-utf8 в true огненный лис должен был начать воспринимать свойства, влияющие на формирование письма, в формате utf-8, то есть должен был корректно обработать строку:
Код
user_pref("intl.charsetmenu.mailview.cache", "ISO-8859-1, UTF-8"); Tools → Options → Display → Formatting → Fonts → Advanced... → Character Encodings → Outgoing Mail: Кстати, попробуйте заблокировать настройку такой командой: Код
lockPref("prefs.converted-to-utf8", true); На счёт потери настроек после перезагрузки, вот тут человек пишет что можно создать файл user.js, который будет иметь более высокий приоритет над prefs.js
0
|
0 / 0 / 0
Регистрация: 17.11.2016
Сообщений: 6
|
|
18.11.2016, 16:26 [ТС] | 11 |
Огненный может и должен, а моя громовая птица не особо Специально проверил. Да и нет нужды теперь в той функции utf8, пашет без нее, так это замечательно, нет лишнего костыля.
Исходящие UTF-8, Входящие Win-1251 Нет смысла блокировать, я ее и так непосредственно под пользователем делаю. Может быть ... Файл скрипта, который ФИО получает в OEM 866, конфиги thunderbird в UTF-8 (без BOM). Ну у меня настройки не теряет ... я вроде такого не писал, а перезагрузка нужна для чистоты эксперемента, потомучто ФИО Выдергивается при входе ну и скинуть все возможные эксперементы. Мы сейчас пытаемся заставить работать то, без чего и так все замечательно работает ... Про параметр prefs.converted-to-utf8 безусловно ценное замечание, но гадать на кофейной гуще и тратить время не ненужный эксперемент думаю не стоит. Видимо в почтовик встроили функцию конвертации UTF-8 просто из-за этого и происходил этот глюк у меня. Не вижу смысла продолжать тесты, ОГРОМНОЕ спасибо за помощь.
0
|
18.11.2016, 16:26 | |
18.11.2016, 16:26 | |
Помогаю со студенческими работами здесь
11
dbf - проблема с кодировками !!! Запутанная проблема с кодировками Проблема с кодировкой при использовании процедур Проблема с кодировками вставляемых файлов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Параллельное программирование: основные технологии и принципы
InfoMaster 15.01.2025
Введение в параллельное программирование
Параллельное программирование представляет собой фундаментальный подход к разработке программного обеспечения, который позволяет одновременно выполнять. . .
|
Как написать микросервис на C# с Kafka, MediatR, Redis и GitLab CI/CD
InfoMaster 15.01.2025
В современной разработке программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот подход позволяет разделить сложную систему. . .
|
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке
В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
|
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
|
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins
В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
|
Как написать микросервис на Go/Golang с Kafka, REST и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang
Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
|
Как написать микросервис с нуля на C# с RabbitMQ, CQRS, Swagger и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
|
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
|
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
|
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
|
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента!
4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве).
Первое вводное занятие. . .
|
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
|