|
v7: Помогите с русификацией | ☑ | ||
---|---|---|---|---|
0
Max_Prog
23.03.13
✎
15:25
|
Проблема в следующем: пишу выгрузку из ТиС в ТиС справочники и документы выгружаются в текстовые сообщения и отправляю по почте через CDO , получаю почту через ROM-Mail. Приходит кракозябра. Почта на mail.ru, причем на самой почте отображается все нормально. ОС Windows 7 64bit. Может кто сталкивался, помогите. Заранее благодарен.
|
|||
1
Mikeware
23.03.13
✎
15:33
|
Документация:
Кодировка Charset Синтаксис: Кодировка Назначение: Кодировка сообщения при отправке/получении. По умолчанию "windows-1251" Замечание: Атрибут может принимать любое значение, однако автоматическое кодирование/декодирование средствами внешней компоненты доступно только для следующих кодировок: "windows-1251", "koi8-r", "koi8-u", "ibm866", "x-mac-cyrillic", "iso-8859-1"..."iso-8859-9". Пример: Почта.Кодировка="windows-1251" |
|||
2
Max_Prog
23.03.13
✎
16:36
|
Не пашет
Процедура глПолучитьПочту(Логин,Пароль) Экспорт Если ЗагрузитьВнешнююКомпоненту("ROM-Mail.dll")=0 Тогда Предупреждение("ROM-Mail.dll не загружена!"); Возврат; КонецЕсли; Попытка Почта = СоздатьОбъект("AddIn.AddInMail"); Исключение Сообщить("Ошибка инициализации E-Mail"); Возврат; КонецПопытки; Почта.СерверПриема = "pop.mail.ru"; Почта.ПортПриема = "110"; Почта.Логин = Логин; Почта.Пароль = Пароль; Почта.ОставлятьНаСервере = 1; Почта.ПоказыватьПредупреждения = 0; Почта.Кодировка="windows-1251"; ///////// Не пашет Если Почта.Подключиться("Прием") = 0 Тогда // Сообщить("Не удалось подключиться к серверу!"); Возврат; КонецЕсли; Для Индекс=1 По Почта.КоличествоСообщений() Цикл Почта.ПолучитьСообщение(индекс); Адрес = Почта.АдресОтправителя; Тема = СокрЛП(Почта.Тема); Тело = СокрЛП(Почта.Тело); ДатаП = Почта.ДатаОтправки; Инд = Прав(Тема,2); Если Найти(Тема,"~~~OBMEN___DANNAMI~~~") > 0 Тогда Если Найти(Константа.ПрефиксИБ,"Ц") = 0 Тогда Если Найти(Тема,Константа.ПрефиксИБ) = 0 Тогда Продолжить; КонецЕсли; КонецЕсли; ТекстТ = СоздатьОбъект("Текст"); ТекстТ.ДобавитьСтроку(Тело); Если глСоздатьДок(ТекстТ) = 1 Тогда Почта.ОставлятьНаСервере = 0; КонецЕсли; Иначе Почта.ОставлятьНаСервере = 0; КонецЕсли; КонецЦикла; Почта.Отключиться(); КонецПроцедуры Не пашет |
|||
3
Max_Prog
23.03.13
✎
16:38
|
Может при отправке надо? Но как поменять кодировку через CDO?
|
|||
4
G-Re
24.03.13
✎
11:05
|
Может, поиграться с объектом Текст, задав явно кодировку?
ТекстТ.КодоваяСтраница(<Режим>); |
|||
5
Злой Бобр
24.03.13
✎
15:52
|
(0) В ОС поставь правильную кодировку.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage. Исправить кодировки с 1250 по 1255 на 1251. |
|||
6
BalBess
25.03.13
✎
08:06
|
objEmail = Createobject("CDO.Message");
objEmail.BodyPart.CharSet = "windows-1251"; |
|||
7
ЧеловекДуши
25.03.13
✎
08:15
|
(3) Думается, мысли у тебя верная :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |