Страница 1 из 1

Зачем AMS ломает код?

Добавлено: Ср авг 22, 2012 7:44 am
partnerweb
Столкнулся с необъяснимым :)
1. Письмо в HTML формате.
2. В тело подгружается свой заголовок.
3. Тело верстается в дримвивере

Изображение

4.Просматриваю письмо в редакторе AMS, в этот момент дримвивер "ругается" ... Говорит, что код файла изменился и файл будет перегружен ...
Странно! Я ничего в файле не менял! Но соглашаюсь!

Изображение

5.Вижу ... код действительно поменялся:

Изображение

Какова логика изменения кода я так и не понял ...
1. Изначально тело письма в кодировке windows-1251 и в AMS кодировка такая же.
2. После просмотра письма в редакторе AMS переписывает код исходника ... Зачем? И каков алгоритм?
3. Может быть это работа какого то тупого парсера и парсер заменяет не понравившийся ему код windows-1251 на WINDOWS-1251 в соответствии с выбранной кодировкой пользователя и при этом заменяет маленькие буквы на большие ???
Ну допустим ...
4. Хм ... а что если поменять кодировку письма в AMS и посмотреть, что тогда парсер пропишет в исходнике?
5. Меняем кодировку письма на UTF-8 ... и что видим? А в исходнике как была указана кодировка WINDOWS-1251, так она и осталась!
6. Присмотримся повнимательнее, что и как заменяется (хотя хоть убей не могу понять для чего! :) ) и видим: что у одного стиля парсер "пропустил" кавычки, а у другого такого же стиля вырезал ... А это вообще зачем?
И почему такая странная избирательность?

Зачем AMS вообще трогает исходники?
AMS должна один раз считать (записать в свой кеш) входящие данные и затем конструировать код перед отправкой на сервер.

Еще раз (повторюсь) => зачем AMS лезть в исходники!?
Они на то и исходники, что бы с ними работал пользователь, а не AMS (как ей вздумается) ....

Давайте предположим, что Максим все таки сделает рандомные кодировки у тела письма ...
Мы знаем, что есть подстановка [%%HMsgCharset%%]
Теоретически эту или подобную подстановку мы можем применить в теле письма, вместо жестко привязанной кодировки ...
И тогда логика была бы понятной!
Но вот что происходит, если так сделать (AMS полностью ломает исходник тела письма!):

Изображение

Это уже и не исходник вовсе ... а какая то каша!

Добавлено: Пт авг 24, 2012 1:13 pm
Gasik
Была такая проблема захотел заголовок для режима хтмл, не получилось код менялся и забил полез текстом слать )
А у тебя что линки майл ру принимает все ?
:)

Добавлено: Вс авг 26, 2012 12:24 pm
partnerweb
При чем здесь линки?
При чем здесь mail.ru?
Речь идет об алгоритме работы AMS ...

Добавлено: Вс сен 02, 2012 10:08 pm
Max Terentiev
1. Изначально тело письма в кодировке windows-1251 и в AMS кодировка такая же.
AMS при загрузке Html кода всегда приводит его кодировку к системной. Даже если она и так системная. Это делается для того, чтобы во время рассылки было понятно из какой исходной кодировки нужно сделать преобразование к выбранной. Кроме Charset'а ничего больше меняться не должно.
2. После просмотра письма в редакторе AMS переписывает код исходника ... Зачем? И каков алгоритм?
См. пункт 1.
3. Может быть это работа какого то тупого парсера и парсер заменяет не понравившийся ему код windows-1251 на WINDOWS-1251 в соответствии с выбранной кодировкой пользователя и при этом заменяет маленькие буквы на большие ???
Ну допустим ...
Да, это делает парсер. При рассылке кодировка будет прописана корректно маленькими буквами, та что выбрана для письма.
4. Хм ... а что если поменять кодировку письма в AMS и посмотреть, что тогда парсер пропишет в исходнике?
Ничего не изменится. Т.к. при загрузке html приводится к системной кодировке (для русской версии Windows это Windows-1251). Во время рассылки будет происходить перекодирование из Windows-1251 в ту кодировку, которая выбрана на тулбаре редактора AMS.
5. Меняем кодировку письма на UTF-8 ... и что видим? А в исходнике как была указана кодировка WINDOWS-1251, так она и осталась!
См. выше.
6. Присмотримся повнимательнее, что и как заменяется (хотя хоть убей не могу понять для чего! Smile ) и видим: что у одного стиля парсер "пропустил" кавычки, а у другого такого же стиля вырезал ... А это вообще зачем? И почему такая странная избирательность?
Вероятно где-то проблема в парсере, если это критично - буду смотреть...
Давайте предположим, что Максим все таки сделает рандомные кодировки у тела письма ...
Мы знаем, что есть подстановка [%%HMsgCharset%%]
Уже сделал. Описание в первом топике форума.