Статус: 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 :
А в бд всё хорошо. Как это можно исправить????
|
|
|
|
|
|
Статус: 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; }
|
|
|
|
|
|
Статус: Newbie
Группы: Registered
Зарегистрирован: 27.11.2008(UTC) Сообщений: 3
|
Печально, что исправить можно только в коде. А если попробовать перезаписать чужую dll-ку?
|
|
|
|
|
|
Статус: Administration
Группы: Registered
Зарегистрирован: 12.09.2008(UTC) Сообщений: 194
Сказал(а) «Спасибо»: 1 раз Поблагодарили: 1 раз в 1 постах
|
|
|
|
|
|
|
Статус: Newbie
Группы: Registered
Зарегистрирован: 27.11.2008(UTC) Сообщений: 3
|
Admin написал:Вот DLLка этого форума. Вот за это спасибо большое. Все вылечилось
|
|
|
|
|
|
Статус: 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)
| Причина: Не указана
|
|
|
|
|
|
Статус: Administration
Группы: Registered
Зарегистрирован: 12.09.2008(UTC) Сообщений: 194
Сказал(а) «Спасибо»: 1 раз Поблагодарили: 1 раз в 1 постах
|
Это ДЛЛка для старой версии, в новой обещали исправить эту багу.
|
|
|
|
|
|
Статус: 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), спасибо
|
|
|
|
|
|
Статус: Member
Группы: Registered
Зарегистрирован: 25.05.2009(UTC) Сообщений: 12
|
А как получить эту .dll-ку?
|
|
|
|
|
|
Статус: Administration
Группы: Registered
Зарегистрирован: 12.09.2008(UTC) Сообщений: 194
Сказал(а) «Спасибо»: 1 раз Поблагодарили: 1 раз в 1 постах
|
SaplInna написал:А как получить эту .dll-ку? Какую? для беты DLLка приложена в первом сообщении, а для релиза ее и не нужно.
|
|
|
|
|
|
Статус: Newbie
Группы: Registered
Зарегистрирован: 18.09.2009(UTC) Сообщений: 2
|
При отправке форумом сообщения оно уже приходит на почту на русском языке, а вот отправитель в виде =?utf-8?Q?=D0=A4=D0=BE=D1=80=D1=83=D0=BC[myaddress@mail.com]
В чем может быть дело?
|
|
|
|
|
|
Статус: Newbie
Группы: Registered
Зарегистрирован: 18.09.2009(UTC) Сообщений: 2
|
Starina написал:При отправке форумом сообщения оно уже приходит на почту на русском языке, а вот отправитель в виде =?utf-8?Q?=D0=A4=D0=BE=D1=80=D1=83=D0=BC[myaddress@mail.com]
В чем может быть дело? Проблема решена. В названии форума были ковычки. Было так: Форум "Мой". Убрал из названия кавычки. Заработало.
|
|
|
|
|
|
Статус: Newbie
Группы: Registered
Зарегистрирован: 09.09.2009(UTC) Сообщений: 1
|
письма приходят в UTF-16, а хочется в utf-8, можно ли это как нибудь победить? ПРОСЬБА: выложите пожалуйста скомпилированный файл YAF.Classes.Utils.dll с исправленной процедурой отправки сообщения, вместо Unicode чтобы было utf-8 ЗАРАНЕЕ БЛАГОДАРЮ Отредактировано пользователем 8 октября 2009 г. 13:23:16(UTC)
| Причина: Не указана
|
|
|
|
|
|
Статус: 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)
| Причина: Не указана
|
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.