Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 17.07.2007, 01:14
schirly вне форума Посмотреть профиль Отправить личное сообщение для schirly Найти все сообщения от schirly
  № 1  
Ответить с цитированием
schirly

Регистрация: Jul 2007
Сообщений: 5
По умолчанию правильные кодировки

Здравствуйте дорогие Флэшеры!

У меня возникла проблема с e-mail - письма приходят в виде абракадабры, а нужно чтобы получатель читал на русском. Я все форумы прочитала, но не получаеться все равно. Я установила utf 8 и для mail.php и для html документа, куда вставлен Flash.Помогите пожалуйста. Что нужно написать еще в php?
сервер находиться на платформе unix. Заранее благодарю за ответ.

Код:
<?PHP

$adminaddress = "test.ru"; 

$siteaddress ="http://www.test.ru/"; 

$sitename = "test.ru"; 


// Gets the date and time from your server
$date = date("m/d/Y H:i:s");

// Gets the IP Address
if ($REMOTE_ADDR == "") $ip = "no ip";
else $ip = getHostByAddr($REMOTE_ADDR);

//Process the form data!
// and send the information collected in the Flash form to Your nominated email address
if ($action != ""): 
mail("$adminaddress","тест Website запрос", 
"при посещении сайта была следующая информация оставлена\n\n
имя: $vorname 
фамилия: $name
фирма: $firma
улица: $strasse
город: $plzort
телефон: $telefon
факс: $fax
E-mail: $email
сообщение: $anmerkung

------------------------------
$comments

Logged Info :
------------------------------
Using: $HTTP_USER_AGENT
Hostname: $ip
IP address: $REMOTE_ADDR
Date/Time:  $date","FROM:$adminaddress"); 

//This sends a confirmation to your visitor
mail("$email","Спасибо за ваше посещение $sitename", 
"Здравствуйте $vorname $name,\n 
Спасибо за ваш интерес к нашей продукции .\n
Через некоторое время вы получите  информацию.\n 
с уважением,\n
фирма 
$siteaddress","FROM:$adminaddress"); 

//Confirmation is sent back to the Flash form that the process is complete
$sendresult = "Спасибо за посещение нашего сайта <a href = \"$siteaddress\" target = \"_blank\"><u>$sitename</u></a>. You will receive a confirmation email shortly. ";
$send_answer = "answer=";
$send_answer .= rawurlencode($sendresult);
echo "$send_answer";

endif;
?>
А это Flash

Код:
fscommand("allowscale", "false");
mailform = "mailform.php";
confirm = "Пожалуйста подождите подтверждение...";
action = "send";
Selection.setFocus("vorname");

function validate(address) {
	if (address.length>=7) {
		if (address.indexOf("@")>0) {
			if ((address.indexOf("@")+2)<address.lastIndexOf(".")) {
				if (address.lastIndexOf(".")<(address.length-2)) {
					return (true);
				}
			}
		}
	}
	return (false);
}
//
//form check
//
function formcheck() {
	if ((((email == null)) || (email.length<1)) || (email == "Ошибка, E-mail неправельный")) {
		email = "Ошибка, E-mail неправельный";
		action = "";
	}
	if (!validate(email)) {
		email = "Ошибка, E-mail неправельный";
		action = "";
	}
	if (vorname == null) {
		vorname = "Укажите свое имя ";
		action = "";
	}
	if (name == null) {
		name = "Укажите свою фамилию";
		action = "";
	}
	if (firma == null) {
		firma = "Укажите свою фирму";
		action = "";
	}
	if (telefon == null) {
		telefon = "Укажите свой телефон";
		action = "";
	}
	if ((validate(email)) && (email != "Ошибка") && (vorname != "") && (name != "") && (firma != "") && (telefon != "")) {
		action = "send";
		loadVariablesNum(mailform, 0, "POST");
		gotoAndPlay("wait");
	}
}
stop();


Последний раз редактировалось schirly; 17.07.2007 в 14:51. Причина: редактирование
Старый 17.07.2007, 10:21
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
schirly, отредактируйте свой пост и оформите код тегами [code][/code] (php-код в том числе).


Последний раз редактировалось etc; 17.07.2007 в 15:53.
Старый 17.07.2007, 11:03
Dr.OH вне форума Посмотреть профиль Отправить личное сообщение для Dr.OH Найти все сообщения от Dr.OH
  № 3  
Ответить с цитированием
Dr.OH

Регистрация: Aug 2003
Сообщений: 299
Отправить сообщение для Dr.OH с помощью ICQ
установи кодировку письма в windows-1251 и не забудь сделать преобразовние данных, приходящих от флэша из utf в win.
Так, короче лезь на php.net - и смотри, как отправить письмо - у тебя вообще все неправильно - ты вообще нигде не указываешь кодировки письма. И, плиз, прочти книжку по тому, как правильно (читабильно) оформлять код. Что это за функция с аргументами в несколько абзацев???

это уже наверное 10-ая тема про отправку письма из флэша...


Последний раз редактировалось etc; 17.07.2007 в 11:09.
Старый 17.07.2007, 15:52
schirly вне форума Посмотреть профиль Отправить личное сообщение для schirly Найти все сообщения от schirly
  № 4  
Ответить с цитированием
schirly

Регистрация: Jul 2007
Сообщений: 5
Спасибо за ответ.

установила кодировку win 1251, а как сделать чтобы utf из Flash перекодировать? Текст, написанный в php читается в полученном письме правильно, а из Flash абракадабра. Помогите пожалуйста. Я в этом деле новичок.


Код:
<?PHP

$headers = "MIME-Version: 1.0\r\n".
 "Content-type: text/html; charset=windows-1251\r\n".

$adminaddress = "test.ru"; 

$siteaddress ="http://www.test.ru/"; 

$sitename = "test.ru"; 


// Gets the date and time from your server
$date = date("m/d/Y H:i:s");

// Gets the IP Address
if ($REMOTE_ADDR == "") $ip = "no ip";
else $ip = getHostByAddr($REMOTE_ADDR);

//Process the form data!
// and send the information collected in the Flash form to Your nominated email address
if ($action != ""): 
mail("$adminaddress","тест Website запрос", 
"при посещении сайта была следующая информация оставлена\n\n
имя: $vorname 
фамилия: $name
фирма: $firma
улица: $strasse
город: $plzort
телефон: $telefon
факс: $fax
E-mail: $email
сообщение: $anmerkung

------------------------------
$comments

Logged Info :
------------------------------
Using: $HTTP_USER_AGENT
Hostname: $ip
IP address: $REMOTE_ADDR
Date/Time:  $date","FROM:$adminaddress"); 

//This sends a confirmation to your visitor
mail("$email","Спасибо за ваше посещение $sitename", 
"Здравствуйте $vorname $name,\n 
Спасибо за ваш интерес к нашей продукции .\n
Через некоторое время вы получите  информацию.\n 
с уважением,\n
фирма 
$siteaddress","FROM:$adminaddress"); 

//Confirmation is sent back to the Flash form that the process is complete
$sendresult = "Спасибо за посещение нашего сайта <a href = \"$siteaddress\" target = \"_blank\"><u>$sitename</u></a>. You will receive a confirmation email shortly. ";
$send_answer = "answer=";
$send_answer .= rawurlencode($sendresult);
echo "$send_answer";

endif;
?>


Последний раз редактировалось schirly; 17.07.2007 в 15:57.
Старый 17.07.2007, 15:54
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 5  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
http://php.net/iconv

Старый 17.07.2007, 16:41
schirly вне форума Посмотреть профиль Отправить личное сообщение для schirly Найти все сообщения от schirly
  № 6  
Ответить с цитированием
schirly

Регистрация: Jul 2007
Сообщений: 5
Спасибо за ссылку. Скопировала к себе и ничего не получаеться.

Код:
<?PHP

$headers = "MIME-Version: 1.0\r\n".
 "Content-type: text/html; charset=windows-1251\r\n".

function utf8_to_windows1255($utf8) {
    $windows1255 = "";
    $chars = preg_split("//",$utf8);
    for ($i=1; $i<count($chars)-1; $i++) {
        $prefix = ord($chars[$i]);
        $suffix = ord($chars[$i+1]);
        //print ("<p>$prefix $suffix");
        if ($prefix==215) {
            $windows1255 .= chr($suffix+80);
            $i++;
        }
        elseif ($prefix==214) {
            $windows1255 .= chr($suffix+16);
            $i++;
        }
        else {
            $windows1255 .= $chars[$i];
        }
    }
    return $windows1255;
} 

$adminaddress = "test.ru"; 

$siteaddress ="http://www.test.ru/"; 

$sitename = "test.ru"; 


// Gets the date and time from your server
$date = date("m/d/Y H:i:s");

// Gets the IP Address
if ($REMOTE_ADDR == "") $ip = "no ip";
else $ip = getHostByAddr($REMOTE_ADDR);

//Process the form data!
// and send the information collected in the Flash form to Your nominated email address
if ($action != ""): 
mail("$adminaddress","тест Website запрос", 
"при посещении сайта была следующая информация оставлена\n\n
имя: $vorname 
фамилия: $name
фирма: $firma
улица: $strasse
город: $plzort
телефон: $telefon
факс: $fax
E-mail: $email
сообщение: $anmerkung

------------------------------
$comments

Logged Info :
------------------------------
Using: $HTTP_USER_AGENT
Hostname: $ip
IP address: $REMOTE_ADDR
Date/Time:  $date","FROM:$adminaddress"); 

//This sends a confirmation to your visitor
mail("$email","Спасибо за ваше посещение $sitename", 
"Здравствуйте $vorname $name,\n 
Спасибо за ваш интерес к нашей продукции .\n
Через некоторое время вы получите  информацию.\n 
с уважением,\n
фирма 
$siteaddress","FROM:$adminaddress"); 

//Confirmation is sent back to the Flash form that the process is complete
$sendresult = "Спасибо за посещение нашего сайта <a href = \"$siteaddress\" target = \"_blank\"><u>$sitename</u></a>. You will receive a confirmation email shortly. ";
$send_answer = "answer=";
$send_answer .= rawurlencode($sendresult);
echo "$send_answer";

endif;
?>

Старый 17.07.2007, 16:50
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 7  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Зачем копировать код из комментариев? Я вам дал ссылку на информацию о функции iconv. Прочитайте и используйте это.

Старый 17.07.2007, 18:35
schirly вне форума Посмотреть профиль Отправить личное сообщение для schirly Найти все сообщения от schirly
  № 8  
Ответить с цитированием
schirly

Регистрация: Jul 2007
Сообщений: 5
Я к сожалению плохо в этом разбираюсь,что конкретно писать для iconv
Мой сайт полностью сделан во Flash, а php только e-mail, я не думала, что будут такие сложности. Может кто-нибудь сжалиться и поможет написать.

Старый 17.07.2007, 22:44
Dr.OH вне форума Посмотреть профиль Отправить личное сообщение для Dr.OH Найти все сообщения от Dr.OH
  № 9  
Ответить с цитированием
Dr.OH

Регистрация: Aug 2003
Сообщений: 299
Отправить сообщение для Dr.OH с помощью ICQ
Цитата:
function utf8_to_windows1255($utf8)
это ты куда текст конвертируешь???
наверное лучше сразу это почитай.. но и по ссылке выше тоже обязательно все от корки до корки!
http://www.php.net/manual/ru/function.iconv.php

Старый 17.07.2007, 23:04
schirly вне форума Посмотреть профиль Отправить личное сообщение для schirly Найти все сообщения от schirly
  № 10  
Ответить с цитированием
schirly

Регистрация: Jul 2007
Сообщений: 5
Это к сожалению не работает, Я читала ссылки, но я не понимаю, что конкретно в моем случае нужно писать.

Создать новую тему Ответ Часовой пояс GMT +4, время: 15:35.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 15:35.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.