logo
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

fatalway
#1 Оставлено : 14 января 2009 г. 20:56:16(UTC)
fatalway

Статус: Newbie

Группы: Registered
Зарегистрирован: 22.11.2008(UTC)
Сообщений: 8

В письмах посланых YAF - русскме буквы в неправильной кодировке
K 7 0 ? @ > A 8 ; 8 2 > A A B 0 = > 2 ; 5 = 8 5 ? 0 @ > ; O .

K < > 6 5 B 5 2 > 9 B 8 = 0 D > @ C < 2 > A ? > ; L 7 > 2 0 2 H 8 A L C : 0 7 0 = = K < 8 = 8 6 5 4 0 = = K < 8 :

А в бд всё хорошо.
Как это можно исправить????
Admin
#2 Оставлено : 16 января 2009 г. 12:43:57(UTC)
Admin

Статус: Administration

Группы: Registered
Зарегистрирован: 12.09.2008(UTC)
Сообщений: 194

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 1 раз в 1 постах
fatalway написал:
В письмах посланых YAF - русскме буквы в неправильной кодировке
K 7 0 ? @ > A 8 ; 8 2 > A A B 0 = > 2 ; 5 = 8 5 ? 0 @ > ; O .

K < > 6 5 B 5 2 > 9 B 8 = 0 D > @ C < 2 > A ? > ; L 7 > 2 0 2 H 8 A L C : 0 7 0 = = K < 8 = 8 6 5 4 0 = = K < 8 :

А в бд всё хорошо.
Как это можно исправить????
Такое наблюдается не на всех серверах. К сожелению на моих наблюдается и правится это только в коде. В файле SendMail.cs закоментируйте строчки 73-77. Непонятно зачем им там полный юникод вместо UTF8, для китайского? В любом случае нам он не нужен, а какие-то русские буквы попадают под регулярку. Закоментируйте это:
Код:
if ( !Regex.IsMatch( bodyText, @"^([0-9a-z!@#\$\%\^&\*\(\)\-=_\+])", RegexOptions.IgnoreCase ) ||
                        !Regex.IsMatch( subject, @"^([0-9a-z!@#\$\%\^&\*\(\)\-=_\+])", RegexOptions.IgnoreCase ) )
                {
                    textEncoding = Encoding.Unicode;
                }

Mihas
#3 Оставлено : 6 февраля 2009 г. 16:20:08(UTC)
Mihas

Статус: Newbie

Группы: Registered
Зарегистрирован: 27.11.2008(UTC)
Сообщений: 3

Печально, что исправить можно только в коде. А если попробовать перезаписать чужую dll-ку?
Admin
#4 Оставлено : 10 февраля 2009 г. 12:55:42(UTC)
Admin

Статус: Administration

Группы: Registered
Зарегистрирован: 12.09.2008(UTC)
Сообщений: 194

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 1 раз в 1 постах
Вот DLLка этого форума.
Вложение(я):
YAF.Classes.Utils.rar (47kb) загружен 20 раз(а).
Mihas
#5 Оставлено : 11 февраля 2009 г. 3:17:59(UTC)
Mihas

Статус: Newbie

Группы: Registered
Зарегистрирован: 27.11.2008(UTC)
Сообщений: 3

Admin написал:
Вот DLLка этого форума.

Вот за это спасибо большое. Все вылечилось Smile
Uri1981
#6 Оставлено : 29 июня 2009 г. 14:58:41(UTC)
Uri1981

Статус: Newbie

Группы: Registered
Зарегистрирован: 16.06.2009(UTC)
Сообщений: 1

Admin написал:
Вот DLLка этого форума.


Стоит 1.9.3 released 22.04.2009
после замены DLL выдает ошибку

Ошибка компиляции
Описание: Ошибка во время компиляции ресурса, необходимого для обслуживания этого запроса. Просмотрите следующие сведения о данной ошибке и измените соответственно исходный код.

Сообщение об ошибке компилятора: CS0104: Неоднозначная ссылка "YafControlSettings" между "YAF.Classes.Utils.YafControlSettings" и "YAF.Classes.YafControlSettings"

Ошибка источника:

Строка 216: get
Строка 217: {
Строка 218: return YafControlSettings.Current.BoardID;
Строка 219: }
Строка 220: set


Исходный файл: e:\IAC\forum\App_Code\YAF\Forum.cs Строка: 218

Отредактировано пользователем 29 июня 2009 г. 15:03:09(UTC)  | Причина: Не указана

Admin
#7 Оставлено : 8 июля 2009 г. 18:30:24(UTC)
Admin

Статус: Administration

Группы: Registered
Зарегистрирован: 12.09.2008(UTC)
Сообщений: 194

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 1 раз в 1 постах
Это ДЛЛка для старой версии, в новой обещали исправить эту багу.
maximkg
#8 Оставлено : 27 июля 2009 г. 1:17:59(UTC)
maximkg

Статус: Newbie

Группы: Registered
Зарегистрирован: 23.07.2009(UTC)
Сообщений: 8

Admin написал:
fatalway написал:
В письмах посланых YAF - русскме буквы в неправильной кодировке
K 7 0 ? @ > A 8 ; 8 2 > A A B 0 = > 2 ; 5 = 8 5 ? 0 @ > ; O .

K < > 6 5 B 5 2 > 9 B 8 = 0 D > @ C < 2 > A ? > ; L 7 > 2 0 2 H 8 A L C : 0 7 0 = = K < 8 = 8 6 5 4 0 = = K < 8 :

А в бд всё хорошо.
Как это можно исправить????
Такое наблюдается не на всех серверах. К сожелению на моих наблюдается и правится это только в коде. В файле SendMail.cs закоментируйте строчки 73-77. Непонятно зачем им там полный юникод вместо UTF8, для китайского? В любом случае нам он не нужен, а какие-то русские буквы попадают под регулярку. Закоментируйте это:
Код:
if ( !Regex.IsMatch( bodyText, @"^([0-9a-z!@#\$\%\^&\*\(\)\-=_\+])", RegexOptions.IgnoreCase ) ||
                        !Regex.IsMatch( subject, @"^([0-9a-z!@#\$\%\^&\*\(\)\-=_\+])", RegexOptions.IgnoreCase ) )
                {
                    textEncoding = Encoding.Unicode;
                }



да, отлично помогло исправление в SendMail.cs и в рез-те полученный YAF.Classes.Utils.dll (YAF-v1.9.3-FINAL-SRC), спасибоSmile
SaplInna
#9 Оставлено : 3 сентября 2009 г. 16:28:57(UTC)
SaplInna

Статус: Member

Группы: Registered
Зарегистрирован: 25.05.2009(UTC)
Сообщений: 12

А как получить эту .dll-ку?
Admin
#10 Оставлено : 6 сентября 2009 г. 21:29:52(UTC)
Admin

Статус: Administration

Группы: Registered
Зарегистрирован: 12.09.2008(UTC)
Сообщений: 194

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 1 раз в 1 постах
SaplInna написал:
А как получить эту .dll-ку?
Какую? для беты DLLка приложена в первом сообщении, а для релиза ее и не нужно.
Starina
#11 Оставлено : 18 сентября 2009 г. 21:56:15(UTC)
Starina

Статус: Newbie

Группы: Registered
Зарегистрирован: 18.09.2009(UTC)
Сообщений: 2

При отправке форумом сообщения оно уже приходит на почту на русском языке, а вот отправитель в виде =?utf-8?Q?=D0=A4=D0=BE=D1=80=D1=83=D0=BC[myaddress@mail.com]

В чем может быть дело?
Starina
#12 Оставлено : 21 сентября 2009 г. 3:11:10(UTC)
Starina

Статус: Newbie

Группы: Registered
Зарегистрирован: 18.09.2009(UTC)
Сообщений: 2

Starina написал:
При отправке форумом сообщения оно уже приходит на почту на русском языке, а вот отправитель в виде =?utf-8?Q?=D0=A4=D0=BE=D1=80=D1=83=D0=BC[myaddress@mail.com]

В чем может быть дело?


Проблема решена.
В названии форума были ковычки. Было так: Форум "Мой".
Убрал из названия кавычки.
Заработало.
Deda56
#13 Оставлено : 6 октября 2009 г. 13:00:41(UTC)
Deda56

Статус: Newbie

Группы: Registered
Зарегистрирован: 09.09.2009(UTC)
Сообщений: 1

письма приходят в UTF-16, а хочется в utf-8, можно ли это как нибудь победить?


ПРОСЬБА: выложите пожалуйста скомпилированный файл YAF.Classes.Utils.dll с исправленной процедурой отправки сообщения, вместо Unicode чтобы было utf-8

ЗАРАНЕЕ БЛАГОДАРЮ

Отредактировано пользователем 8 октября 2009 г. 13:23:16(UTC)  | Причина: Не указана

knuzich
#14 Оставлено : 20 октября 2009 г. 19:19:57(UTC)
knuzich

Статус: Newbie

Группы: Registered
Зарегистрирован: 20.10.2009(UTC)
Сообщений: 8

можно заменить вручную в том месте где используется класс и вызываются некорректно работающие методы.

например в контроле postmessage.ascx в обработчике PostReply_Click который срабатывает при добавлении сообщения в тему можно вместо
вызова

Код:

CreateMail.CreateWatchEmail(nMessageID);



прописать

Код:

using (DataTable table = DB.message_list(nMessageID))
                {
                    foreach (DataRow row in table.Rows)
                    {
                        int userId = Convert.ToInt32(row["UserID"]);
                        YafTemplateEmail email = new YafTemplateEmail("TOPICPOST", true);
                        email.TemplateLanguageFile = UserHelper.GetUserLanguageFile((long) userId);
                        string subject = string.Format(YafContext.Current.Localization.GetText("COMMON", "TOPIC_NOTIFICATION_SUBJECT"), YafContext.Current.BoardSettings.Name);
                        email.TemplateParams["{forumname}"] = YafContext.Current.BoardSettings.Name;
                        email.TemplateParams["{topic}"] = row["Topic"].ToString();
                        email.TemplateParams["{link}"] = string.Format("{0}{1}", YafForumInfo.ServerURL, YafBuildLink.GetLinkNotEscaped(ForumPages.posts, "m={0}#{0}", new object[] { nMessageID }));
                        email.CreateWatch(Convert.ToInt32(row["TopicID"]), userId, new MailAddress(YafContext.Current.BoardSettings.ForumEmail, YafContext.Current.BoardSettings.Name), subject);
                    }
                }



а также в файле русификации russians.xml добавить хоть что -нибудь в ресурс TOPICPOST_HTML (можно скопировать из TOPICPOST_TEXT)
и будет все работать как новенькое :)

в принципе этот код я вытянул рефлектором.. В этом случае можно добраться до кода сборки.

Отредактировано пользователем 20 октября 2009 г. 19:22:32(UTC)  | Причина: Не указана

Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.

Форум YAF | YAF © 2003-2012, Yet Another Forum.NET
Страница сгенерирована за 0.359 секунды.