Форум сетевых администраторов
Показаны 32 сообщений на этой странице

Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- VBulletin 2.x.x (http://netadmin.ws/forum/forumdisplay.php?forumid=45)
-- Кодировка в уведомлениях (http://netadmin.ws/forum/showthread.php?threadid=4037)


Помещено Alien 22-01-2003 в 22:57:

Кодировка в уведомлениях

Практически еще не встречал форумов на vB, где вопросы с кодировкой в уведомлениях были бы решены ПОЛНОСТЬЮ: хоть один вид уведомлений, но приходит "кривой". Кстати, для сведения polo: уведомления с NetAdmin приходят мне в кои-8 и их кодировка не распознается автоматически правильно Outlook. Поэтому они воспринимаются, как "кривые".
Забегая вперед, скажу, что дело не в Outlook - то же самое на Bat (но реже). На моем форуме кодировка Win, подавляющее число видов сообщений распознаются правильно, причем у ВСЕХ пользователей, вне зависимости от используемого почтового клиента. Но все же единичные виды уведомлений приходят "кривыми" (это, например, уведомления о П.С.) - вопреки настройке они приходят в кои-8, а не в Win. Аналогично и с NetAdmin: все - в кои-8, а отдельные - в Win.

Какой файл отвечает за эту бяку так и не разобрались...

В свое время искал здесь в форумах ответ на вопросы по кодировке - не нашел. Воспользовались подсказкой: как раз некто указывал на строку в файле functions.php:

PHP:


$emailsubject
,$emailmsg,
"From: \"$bbtitle Mailer\" <$webmasteremail>
"
);


Об этом я уже упомянул вот здесь
Замена на строку:

PHP:

$emailsubject
, $emailmsg, 
"From: \"$bbtitle Mailer\" <$webmasteremail>
\nContent-Type: text/plain; charset=windows-1251 +"
);


Какого же было наше удивление, что исправление не принесло никакого результата... Проанализировали: подобные строки (отличаются наличием/отсутствием пробелов) встречаются, по меньшей мере, в 14 php-файлах.
Исправляли. Сработало в 99% случаев.

Файлы:
private.php
private2.php
sendtofriend.php
register.php
report.php
sendtofriend.php
newreply.php
newthread.php
member.php
user.php
functions.php
email.php
db_mysql.php
adminfunctions.php

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

__________________
Вечно молодой стареющий новичок...


Помещено Count 22-01-2003 в 23:03:

Alien
Уже было. Посмотри аттач к теме:
http://www.netadmin.ws/forum/showthread.php?s=&threadid=3594
Я ведь не просто так писал добаву... Вот только оттестить мне ее до конца так и не удалось...


Помещено polo 22-01-2003 в 23:12:

только на запрос "кодировка" в поиске нашлось около 10 сообщений, то что ты написал
http://netadmin.ws/forum/showthread.php?s=&threadid=736

polo добавил 22-01-2003 в 23:13:41:
с этого форума письма уходят в win-1251 а уж что там твой мэйл сервер делает я уже не знаю.

__________________
Всегда есть решение.


Помещено Alien 22-01-2003 в 23:34:

quote:
Уже было. Посмотри аттач к теме

Count, это я видел, но ставить не буду пока - мне не оттестить (квалификация = 0).

Alien добавил 22-01-2003 в 23:42:29:
quote:
в поиске нашлось около 10 сообщений

polo, благодарю! Я прочесывал форум, но ниже июня - не то, что апреля, не пошел. Сейчас везде пробелы недостающие расставлю.
quote:
уходят в win-1251 а уж что там твой мэйл сервер делает
Тады не понятно... Тут много говорилось уже о valueHost - мой форум на нем, как и некоторые другие. "Проблемы" - схожие. А NetAdmin случайно не там?

Alien добавил 22-01-2003 в 23:58:49:
polo, а последовательные сообщения одного пользователя автоматически склеиваются? Интересная фишка...
Ð_то сообщение задержу на пять минут - склеется с предыдущим или нет?

__________________
Вечно молодой стареющий новичок...


Помещено Alien 02-02-2003 в 01:21:

Может кто из "старожилов" вспомнит...

Дней несколько назад в одной из тем прочитал чей-то ответ типа: во всем виновата пропущенная/лишняя в коде точка (возможно, я подзабыл и была не точка, а запятая) - и привел фрагмент кода... (речь шла не о связках mail ( и mail()

Сегодня - обыскался... Сижу уже 5 часов, использовал разные критерии поиска, теперь читаю все подряд (много ценного вычитал), но нужный топик не нашел.
То, что я такое своими глазами читал, - это точно... (есть сомнение - не в этом форуме)

__________________
Вечно молодой стареющий новичок...


Помещено alex_aqua 05-02-2003 в 14:35:

На самом деле все делается очень просто. У меня тоже была такая проблема. Я попросил нашего сисадмина ее поправить. Он где-то на серваке прописал, что все письма и сообщения с моего форума отправлять в виндовой кодировке. Уже 3 месяца абсолютно все письма приходят в оутглюк на руссков без проблем.
Если надо, могу свести с админом для консультации - что, где поправить. Только обращаю ваше внимание, что данную операцию может выполнить только админ вашего хостера.


Помещено Alien 05-02-2003 в 14:46:

quote:
данную операцию может выполнить только админ вашего хостера

alex_aqua, этакая мелочь...
Тем не менее было бы интересно узнать: насколько универсальна его технология?

__________________
Вечно молодой стареющий новичок...


Помещено alex_aqua 05-02-2003 в 15:00:

Я так понимаю, что все мейл-сообщения с форума, проходят через почтовый сервак хостера. Т.е. все сообщения перекодируются в вин1251. Вот тебе и универсальность.
Попробуй вот, что - пропиши в каталоге, где лежит твой форум, в файле .htaccess строчку CharsetSourceEnc windows-1251
А я пока спрошу у админа, чего он там правил.


Помещено Alien 05-02-2003 в 15:07:

quote:
все мейл-сообщения с форума, проходят через почтовый сервак хостера

Если бы только через хостера...

__________________
Вечно молодой стареющий новичок...


Помещено alex_aqua 05-02-2003 в 15:12:

Только, что узнал, что наш админ кроме правки .htaccess (добавить строчку CharsetSourceEnc windows-1251) еще в каком-то файле форума функцию добавил. Дословно: "я исходники правил.
Какую-то функцию дописал, к-я правильные заголовки в email
вставляет. Отошли людям исходники, пусть сравнивают"
Не помнит он, где именно правил


Помещено Alien 05-02-2003 в 15:21:

quote:
еще в каком-то файле форума функцию добавил

вот-вот... Открытия он не сделал

__________________
Вечно молодой стареющий новичок...


Помещено alex_aqua 05-02-2003 в 15:25:

Да, но даже с этого форума я получаю письма в кривой кодировке.
А с моего - все возможные сообщения приходят нормально


Помещено Alien 05-02-2003 в 15:50:

quote:
с этого форума я получаю письма в кривой кодировке

И я тоже... А со своего - в нормальной...
Здесь же обсуждаются универсальные способы (если они вообще существуют).

__________________
Вечно молодой стареющий новичок...


Помещено alex_aqua 05-02-2003 в 15:55:

Так с моего форума все мои участники получают в нормальной.
В общем, я тут выступаю, так-как считаю, что решить проблему можно. Универсальная она или нет - не могу судить. Может гуру в vb
подскажут, какой файл отвечает за кодировку - я вышлю свой и можно вычислить созданную функцию и проверить ее.
Одно могу сказать - наш админ очень сильный программер, но заморачивался ли он под универсальность или заточил только под наш сервант - не знаю.


Помещено Alien 05-02-2003 в 17:07:

quote:
Может гуру в vb подскажут, какой файл отвечает за кодировку

Их много - как минимум 16... Но не только в них дело. Да и число участников у Вас пока не столь велико, чтобы утверждать, что ни у кого не возникает и никогда не возникнет проблем.

Alien добавил 05-02-2003 в 17:11:24:
А вообще, пригласите своего админа к этому разговору - пусть поделится с народом своим опытом

__________________
Вечно молодой стареющий новичок...


Помещено miXei 03-03-2003 в 11:30:

У меня вот такая проблема.
После перехода на версию 2.3.0 функция mail() теперь есть только в файле admin/functions.php (ну может еще один файл, но не важный), так вот там встречается такой фрагмент:

PHP:


// vBulletin wrapper for PHP's 'mail()' function
function vbmail($toemail, $subject, $message, $from = '', $headers = '', $username = '') {
    global 
$bbtitle, $webmasteremail;
    
    
$toemail = trim($toemail);
    
$subject = trim($subject);
    
$message = preg_replace("/(\r\n|\r|\n)/s", "\r\n", trim($message));
    
$from = trim($from);
    
$username = trim($username);
    
    
// work out the 'From' header
    
if ($from == '') {
        
$headers = "From: \"$bbtitle Mailer\" <$webmasteremail>\r\n" . $headers;
    } else {
        
$headers = 'From: "' . iif($username, "$username @ $bbtitle", $from) . "\" <$from>\r\n" . $headers;
    }
    
    
// actually send the email message
    
mail($toemail, $subject, $message, $headers);
}



Пробовал исправить обычной подстановкой типа:
$mimetype="Content-Type: text/plain; \n\t\t charset=windows-1251\nContent-Transfer-Encoding: 7bit\n";
А перед каждом заголовком соответственно $headers = "$mimetypeFrom: \"$bbtitle Mailer\" <$webmasteremail>\r\n"

Но что-то такой вариант некорректно работает и отправитель оказывается вообще неизвестный.
Подскажи как правильно решить эту проблему?

__________________
miXei.ru - Дискуссионный клуб


Помещено MCTarakan 04-03-2003 в 00:00:

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

__________________
yMC.ru - хомяк музыканта


Помещено ValeRa+ 04-03-2003 в 19:58:

Ну, кто-нибудь, протестите хак Count'a!!! Ведь такая вещь классная, полезная, а не просто какая-то "прибамбаса". С этим сталкивается каждый!


Помещено Alone 04-03-2003 в 20:15:

ValeRa+
Дык покажи мне новую версию... старую тестил, у меня был глюк на глюке...

__________________
http://www.compware.ru - сайт о разгоне


Помещено Count 04-03-2003 в 20:22:

ValeRa+, Alone
В выходные займусь переработкой хака под новую версию вБ (230). Заодно пофиксю все найденные ошибки. Надеюсь что работа не помешает это сделать.


Помещено Alien 04-03-2003 в 22:00:

quote:
займусь переработкой хака под новую версию вБ (230)

Count, а под 2.2.х? Окончательный (самый последний) вариант где лежит?

__________________
Вечно молодой стареющий новичок...


Помещено Alone 04-03-2003 в 22:51:

Alien
пока нигде, глючит он. Надеюсь Count и для него выложит вариант

__________________
http://www.compware.ru - сайт о разгоне


Помещено Alien 04-03-2003 в 23:04:

quote:
пока нигде

Alone, Count и другие, ЖАЛЬ! Хорошая штучка...

__________________
Вечно молодой стареющий новичок...


Помещено MYXOMOP 07-03-2003 в 23:11:

Arrow

рекомендую курить доки по ПХП, на предмет параметров маил ()

в старых версиях все делается достаточно тривиально, но гиморно:


PHP:


// Добавить в заголовок кодировку
      
mail ($user[email],$subject,$message,"From: $webmasteremail\r\n"
    
."X-AntiAbuse: Send your complains to $webmasteremail\r\n"
    
."Content-Type: text/plain; charset=Windows-1251");



ессно приходится добавлять везде , где используется эта функиця.

в новой ИМХО все проще - достаточно добавить в одном месте

MYXOMOP добавил 07-03-2003 в 23:14:44:
ессно чарсет надо добавлять ТОТ в котором ШЛЕТ форум. Всякие перекодировщики в сад , главное что бы в хедере письма был правильный и СООТВЕТСВУЮЩИЙ телу чарсет


Помещено Count 08-03-2003 в 19:27:

Alien, Alone, выложил у себя очередную версию. Если готовы немного поработать подопытними кроликами, то прошу. Переработку под версию 230 решил отложить до релиза последнего.


Помещено Alone 08-03-2003 в 20:14:

Count
Готов, в принципе я с основным уже разобрался, так что в течение пары дней попробую

__________________
http://www.compware.ru - сайт о разгоне


Помещено Alien 08-03-2003 в 22:11:

Count, в принципе не против... Посмотри у себя, что я написал, - ответь. Могу 10-11 марта, только объясни, что от меня требуется в плане "кролика"?

__________________
Вечно молодой стареющий новичок...


Помещено ValeRa+ 18-03-2003 в 19:48:

Ну, как успехи?


Помещено Alone 18-03-2003 в 21:52:

ValeRa+
отлично, на моей борде всё работает замечательно, уже как неделя.

__________________
http://www.compware.ru - сайт о разгоне


Помещено Sector 06-04-2003 в 08:54:

А где этот хак взять можно?


Помещено Count 06-04-2003 в 10:19:

Sector
В разделе "Сделай сам", в соответствующей теме.


Помещено Sector 06-04-2003 в 19:04:

Count
Ок, спасибо


Формат времени GMT. Текущее время 22:54.
Показаны 32 сообщений на этой странице

Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.