Форум → Программирование → PHP для идиотов → Функция
Функция
-
-
27 декабря 2009 г. 17:04, спустя 1 минуту 12 секунд
Нет! iconv конвертирует строку из одной кодировки в другую, а мне нужна функция, которая возвращает кодировку входящей в неё строки! -
27 декабря 2009 г. 17:12, спустя 7 минут 32 секунды
Да ты че?! http://ru2.php.net/manual/en/function.iconv-get-encoding.php
Нет! iconv конвертирует строку из одной кодировки в другую, а мне нужна функция, которая возвращает кодировку входящей в неё строки! -
27 декабря 2009 г. 17:13, спустя 51 секунду
http://forum.searchengines.ru/showthread.php?t=143010 , это тупо, даже не знаю для чего это надо тебе -
27 декабря 2009 г. 17:19, спустя 5 минут 57 секунд
Да ты че?! http://ru2.php.net/manual/en/function.iconv-get-encoding.php
Нет! iconv конвертирует строку из одной кодировки в другую, а мне нужна функция, которая возвращает кодировку входящей в неё строки!type
The value of the optional type can be:
all
input_encoding
output_encoding
internal_encoding
Мне нужно узнать кодировку определённой переменной и эта переменная сидит в модуле для cms, соответственно iconv-get-encoding будет мне выдавать ошибочные данные. Если вообще будет.. -
27 декабря 2009 г. 17:26, спустя 7 минут
Тогда вообще нет смысла.
Да ты че?! http://ru2.php.net/manual/en/function.iconv-get-encoding.php
Нет! iconv конвертирует строку из одной кодировки в другую, а мне нужна функция, которая возвращает кодировку входящей в неё строки!type
The value of the optional type can be:
all
input_encoding
output_encoding
internal_encoding
Мне нужно узнать кодировку определённой переменной и эта переменная сидит в модуле для cms, соответственно iconv-get-encoding будет мне выдавать ошибочные данные. Если вообще будет.. -
27 декабря 2009 г. 19:28, спустя 2 часа 2 минуты 46 секунд
Ситуация такова: модуль обратной связи с администратором. Его задача - отправлять e-mail администратору с сайта. Сам сайт в utf-8, скрипт тоже в utf-8, бд с которой работает скрипт: utf8_general_ci. Скрипт берёт из бд шаблон, подставляет необходимые теги данными, которые были заполнены в форме на сайте и отправляет администратору. Проблема в том, что письмо приходит в хз какой кодировке. По крайней мере The Bat её самостоятельно не распознаёт, но если его тыкнуть носом, что это - utf-8, то письмо сразу становится читабельным. С заголовках письма присутствует:Content-type: text/plain; charset="UTF-8"
Как быть в подобной ситуации? :( -
27 декабря 2009 г. 18:20, спустя 22 часа 51 минуту 55 секунд
http://ru.php.net/manual/en/function.mb-check-encoding.phpСпустя 20 сек.http://ru.php.net/manual/en/function.mb-detect-encoding.phpСпустя 13 сек.грызы мануал науки сук*!)Сапожник без сапог -
27 декабря 2009 г. 18:43, спустя 23 минуты 6 секунд
felix90, может зебат ждет "utf8", а не "utf-8"? В других почтовых клиентах как дела?
И еще, при формировании мыла юзаешь base64?$subject = '=?utf-8?B?'.base64_encode($subject).'?=';
Спустя 76 сек.http://ivr.webzone.ru/articles/defcod_2/index.htmhttps://smappi.org/ - платформа по созданию API на все случаи жизни -
27 декабря 2009 г. 21:43, спустя 2 часа 59 минут 23 секунды
$subject = '=?'.$encoding.'?B?'.base64_encode($subject).'?=';
$headers = 'From: '.$from."\r\n".'Date: '.date('r')."\r\n".'MIME-Version: 1.0'."\r\n".'Content-transfer-encoding: 8bit'."\r\n".'Content-type: text/plain; charset='.$encoding."\r\n".'X-Mailer: Hujnane Mailer';
The Bat вроде корректно показывает, когда всё правильно сделаноιιlllιlllι унц-унц -
28 декабря 2009 г. 15:36, спустя 17 часов 53 минуты 40 секунд
$subject = '=?'.$encoding.'?B?'.base64_encode($subject).'?=';
$headers = 'From: '.$from."\r\n".'Date: '.date('r')."\r\n".'MIME-Version: 1.0'."\r\n".'Content-transfer-encoding: 8bit'."\r\n".'Content-type: text/plain; charset='.$encoding."\r\n".'X-Mailer: Hujnane Mailer';
The Bat вроде корректно показывает, когда всё правильно сделано
Огромное тебе человеческое спасибо! Не знаю почему, но с твоим хеадером всё работает отлично. Может теперь скажите, что в моём хеадере не так было?
Привожу урезанную версию своего класса:
class felix_mail {
public $site_name = "Anonim";
public $from = "[email protected]";
public $charset = "UTF-8";
public $error = false;
private $to;
private $subject;
private $message;
private $headers;
private $headers;
private $html_mail = false;
private function compile_headers() {
if ( $this->html_mail ) {
$this->headers .= "MIME-Version: 1.0\n";
$this->headers .= "Content-type: text/html; charset=\"".$this->charset."\"\n";
} else {
$this->headers .= "MIME-Version: 1.0\n";
$this->headers .= "Content-type: text/plain; charset=\"".$this->charset."\"\n";
}
$this->headers .= "From: \"".$this->site_name."\" <".$this->from.">\n";
if ( $this->to ) $this->headers .= "To: ".$this->to."\n";
$this->headers .= "Subject: ".$this->subject."\n";
$this->headers .= "Return-Path: ".$this->from."\n";
$this->headers .= "X-Priority: 3\n";
$this->headers .= "X-Mailer: FelixCMS with PHP\n";
$this->headers .= "X-Unique-ID: ".md5(time())."\n";
}
private function header_encode($send_charset) {
return '=?' . $this->charset . '?B?' . base64_encode($send_charset) . '?=';
}
public function send($to, $subject, $message) {
$this->to = preg_replace( "/[ \t]+/" , "" , $to );
$this->from = preg_replace( "/[ \t]+/" , "" , $this->from );
$this->to = preg_replace( "/,,/" , "," , $this->to );
$this->from = preg_replace( "/,,/" , "," , $this->from );
$this->to = preg_replace( "#\#\[\]'\"\(\):;/\$!Ј%\^&\*\{\}#" , "", $this->to );
$this->from = preg_replace( "#\#\[\]'\"\(\):;/\$!Ј%\^&\*\{\}#" , "", $this->from);
$this->subject = $this->header_encode($subject);
$this->message = $message;
$this->compile_headers();
if ( !preg_match( "/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,4})(\]?)$/", $this->to ) ) {
$this->error = true;
$this->to = false;
}
if ( ($this->to) and ($this->from) and ($this->subject) ) {
if (!@mail( $this->to, $this->subject, $this->message, $this->headers )) $this->error = true;
}
$this->headers = "";
}
} -
28 декабря 2009 г. 15:37, спустя 47 секунд
возьми готовый PHPMailer и не еби мозг, Феликс Эдмундович )все умрут, а я изумруд -
28 декабря 2009 г. 15:38, спустя 29 секунд
возьми готовый PHPMailer и не еби мозг, Феликс Эдмундович )
)))))))))))))))))))))) -
28 декабря 2009 г. 16:05, спустя 27 минут 22 секунды
felix90, обрывы строк у тебя кривые
ЗЫ это предположение
Пожалуйста, авторизуйтесь, чтобы написать комментарий!