Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Проблема с кодировкой. Форма обратной связи. (http://www.flasher.ru/forum/showthread.php?t=118439)

Bashenko 24.11.2008 09:41

Проблема с кодировкой. Форма обратной связи.
 
Друзья, нашел в Сети пример формы обратной связи.

Четыре текстовых поля:
name
email
phone
message

Код на кнопке "Отправить":
Код AS1/AS2:

on (release) {
        if (name eq "" or phone eq "" or message eq "" or email eq "") {
                stop();
        } else {
                loadVariablesNum("http://-------/form.php", 0, "POST");
                gotoAndStop(2);
        }
}


На кнопке "Очистить" (к нему вопросов нет, но для кучи)
Код AS1/AS2:

on (release) {
        name = "";
  phone="";
  message="";
  email="";
}

Код в PHP-файле:
PHP код:

<?
 
   $to 
"mail@me.ru";
   
$msg "$name\n\n";
   
$msg .= "$message\n\n";

  
mail($to$phone$msg"From: My web site\nReply-To: $email\n");

?>

И в чем, тут, черт побери, дело?
Под маком в Сафари и Опере все прекрасно работает. Письма приходят на чистом русском.
А вот под виндой - кракозябры.
На текстовых полях стоит шрифт "_sans" - как семейство беззасечковых.
Однако, кракозябры тем не менее.

Что мне делать? Может я embend неправильно делаю? (щелкаю на текстовое поле, embend. Выбираю Cyrilic, basic Lanit, Numbers, Uppercase) и прописываю шрифт.

Сроки горят. Буду очень рад, если сможете помочь.
Облазил весь форум (в пределах доступного времени) – не нашел подобной проблемы.

aksios 24.11.2008 10:25

embend такого слова нет.
Встраивание шрифта в флеш не сказывается на работе пхп.
Все дело в кодировке - в страничке html нужно прописать кодировку UTF-8 и видимо все.

nOobCrafter 24.11.2008 17:35

Код AS1/AS2:

**тут был плохой код**

Пропиши в первом кадре, это бяка, но все дело в ней. У меня такая же проблема, конретно щас пытаюсь найти решение, вот тема если хочешь посмотри http://demiart.ru/forum/index.php?sh...post&p=1704945

iNils 24.11.2008 18:12

nOobCrafter, забудьте, что useCodePage вообще существует. Советовать подобные вещи, это тоже самое, что выпускать обувь только 38 размера, кому-то налезет, а кому-то нет.

nOobCrafter 24.11.2008 18:39

iNils я согласен на 100%, знаю чем это чревато, НО пока что я нашел только такой способ решения проблемы, он временный (я так думаю) но у чела сроки горят и по иде еэто должно помоч. Если есть еще идея то я с радостью их выслушаю

iNils 24.11.2008 19:03

Об отправки почты
О кодировке aksios выше сказал.

scarbo 25.11.2008 02:05

Во флеш
Код AS1/AS2:

send_mc.onPress = function(){
LO = new LoadVars();
                LO.mailmsg = text_txt.text;
                LO.subj = "Юлие Файн";
                LO.fn = fio_txt.text+" ("+tel_txt.text+")";
                LO.mail = mail_txt.text;
                LO.sendAndLoad("pismo.php",LO,"POST");}

В PHP
PHP код:

<?
$mail 
iconv("UTF-8""koi8-r"$mail);
$fn iconv("UTF-8""koi8-r"$fn);
$mailmsg iconv("UTF-8""koi8-r"$mailmsg);
$subj iconv("UTF-8""koi8-r"$subj);

mail("my_adress@mail.ru"$subj$mailmsg,"From: $fn <$mail>");
?>


nOobCrafter 25.11.2008 12:56

гхым..У меня такой пхп:
PHP код:

<?php
$contact_name 
$_POST['fname'];
$contact_subject $_POST['lname'];
$contact_email $_POST['email'];
$contact_message $_POST['comments'];

$contact_name iconv("UTF-8""koi8-r"$contact_name);
$contact_subject iconv("UTF-8""koi8-r"$contact_subject);
$contact_email iconv("UTF-8""koi8-r"$contact_email);
$contact_message iconv("UTF-8""koi8-r"$contact_message);

mail("mymail@gmail.ru","Сообщение с сайта"
"От кого   : " .$contact_name
"\nТема      : " .$contact_subject.
"\nE-mail    : " .$contact_email.  
"\nСообщение : " .$contact_message);
?>

Спс scarbo теперь все приходит на русском и фсо ок, НО тут возникла другая проблема, строчки "От кого", "Тема" и т.д. приходят кракозябрами.. Как с этим бороться?.. Пробовал пересохранять под разными кодировками, никакого эффекта. Стоит дефолтная ANSI.

etc 25.11.2008 13:40

Ещё бы, php-файл сохранен в ANSI, конвертирует он UTF-8 в KOI, отправляя в конечном итоге салат из собственной ANSI и KOI. Вот такая вот сборная солянка, почему нельзя было изначально работать только (только!) в UTF-8 — загадка.

nOobCrafter 25.11.2008 14:12

Просто при сохрании пхп в UTF-8 приходит та же крокозябра, а при ANSI "Сообщение с сайта" приходит на русском языке, зато все остальные заголовки крокозябит((

etc 25.11.2008 14:17

Потому что не надо разводить салат из кодировок, не надо ничего конвертировать. Нужно сохранить php-файл в кодировке UTF-8, убрать напрочь конвертацию через iconv и добавить заголовок Content-Type с указанной кодировкой utf-8.

nOobCrafter 25.11.2008 14:54

PHP код:

$encoding "utf-8";
$header ="Content-type: text/html; charset=$encoding\r\n"

??? это?.. пробовал, проблема в том что я не знаю куда "$header" засунуть что бы корректно работало((( при вставке в графу mail, оно мне просто выводит эту строчку(((

etc 25.11.2008 15:01

Всё плохо. Понятно. Вот это сохранить в кодировке UTF-8:

Код:

<?php
$contact_name = $_POST['fname'];
$contact_subject = $_POST['lname'];
$contact_email = $_POST['email'];
$contact_message = $_POST['comments'];

mail("mymail@gmail.ru","Сообщение с сайта",
"От кого  : " .$contact_name.
"\nТема      : " .$contact_subject.
"\nE-mail    : " .$contact_email. 
"\nСообщение : " .$contact_message, "Content-Type: text/plain; charset=utf-8\r\n");
?>

И всё.

nOobCrafter 25.11.2008 15:35

Угу спс помогло, только один нюанс, пропала тема — "Сообщение с сайта".
Еще вопрос какая разница между этим и тем как я делал:
PHP код:

<?php
$contact_name 
$_POST['fname'];
$contact_subject $_POST['lname'];
$contact_email $_POST['email'];
$contact_message $_POST['comments'];

$encoding "utf-8";
$header ="Content-type: text/html; charset=$encoding\r\n";

mail("mymail@gmail.ru","Сообщение с сайта"
"От кого   : " .$contact_name
"\nТема      : " .$contact_subject.
"\nE-mail    : " .$contact_email.  
"\nСообщение : " .$contact_message$header);
?>

По моему все верно должно быть, но у меня просто в конце сообения выводило строчку Content-Type: text/plain; charset=utf-8\r\n ((

etc 25.11.2008 16:00

Вы привели в первый раз кусок из своего кода, предлагая, что остальное мы сами в мозгу воспроизведем. Ваш вариант аналогичен моему.

nOobCrafter 25.11.2008 16:17

хз проверил щас, вроде бы все пашет, может где запятую забыл поставить может что еще, разница только в том что у тебя Content-Type: text/plain;, а у меня было Content-Type: text/html;. А как быть с темой?.. Как сделать что бы она отображалась? Тема - "Сообщение с сайта"

etc 25.11.2008 17:31

А тему надо специфически кодировать. Проще написать её на английском.

nOobCrafter 25.11.2008 17:58

не не не, с кодировкой все ок! у меня ее просто невидно, даже графы такой нету((
Код:

От кого:
кому:
дата:
(тут должна быть строчка с темой но ее физически нет):
текст собщения:

Все остальное выводится просто прекрасно.
Если убрать строчка ", "Content-Type: text/plain; charset=utf-8\r\n"" то тема отображается, хоть и кракозябрами но есть. а если е еоставить то темы невидно.

etc 25.11.2008 18:10

Поле темы должно быть закодировано в формате BASE64 (если не ошибаюсь).

nOobCrafter 25.11.2008 18:15

Угу, на англ. отображается намана, а с русским тема накрылась медным тазомполучается?... Всеравно спс большое.

scarbo 26.11.2008 02:03

to __etc, все в UTF-8 меня не спасло,при чтении почты с Outlook,там только кодировки помогли

etc 26.11.2008 02:14

Это печально.

scarbo 26.11.2008 02:42

Я не ратую за Outlook,но он стоит по умолчанию на Винде

aksios 26.11.2008 10:27

Тема не стоит более детальной проработки - текст пришел, тема на английском, для формы обратной связи не критично. Я в форме обратной связи всегда ставлю название ресурса в качестве темы - имя домена латинскими буквами.
А аутлук - зло.

nOobCrafter 26.11.2008 14:27

А аутлук - зло — +. Я считаю что дальнейшее развитие темы актуально лишь для саморазвития, ибо это может еще кой где приигодиться, так что если несложно может продолжим?

etc 26.11.2008 15:58

Ну поищите варианты, как кодировать заголовок.


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

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