PDA

Просмотр полной версии : Кодировки PHP и FLASH


Onthewave
25.11.2006, 06:00
Скажите пожалуйста, написал форму для отправки сообщение, и при тестирование все работает! А когда залил на хост, то вместо русского шрифта что-то другое!
пробовал менять кодировки, но ничего не помогло!
также поставил:

System.useCodepage = true;

но тоже не помогло!

Что делать? Где ошибка???

miramax
25.11.2006, 06:54
Значит у тебя на локальном хосте всё работает, а на сервере хостера нет? Наверное текстовые файлы для сохранения используешь. Попробуй в фолдере с php скриптом создать .htaccess с директивами:

charsetDisable on
CharsetDefault utf-8

З.Ы. Если юзать для сохранения MySQL 4 и выше (там поддержка юникода появилась) траблов с кодировкой вобще не будет.

etc
25.11.2006, 14:45
Onthewave, строку с useCodepage удали. Flash работает только с utf-8 кодировкой.

Onthewave
25.11.2006, 15:09
Как то все очень странно!
В мозиле, все работает, а в IE7 нет, а еще когда письмо с текстом приходит получатель, там каракули, а у отправителя все хорошо!
что это?

Onthewave
25.11.2006, 15:10
Значит у тебя на локальном хосте всё работает, а на сервере хостера нет? Наверное текстовые файлы для сохранения используешь. Попробуй в фолдере с php скриптом создать .htaccess с директивами:

charsetDisable on
CharsetDefault utf-8

З.Ы. Если юзать для сохранения MySQL 4 и выше (там поддержка юникода появилась) траблов с кодировкой вобще не будет.

Попробую! Спасибо!

Onthewave
25.11.2006, 15:34
fscommand("allowscale", "false");

mailform = "mailform.php";
confirm = "спасибо за вопрос";
action = "Отправка";
error1 = "Неверный Адрес";
error2 = "Неверное Имя";

Selection.setFocus("name");

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);
}

function formcheck() {
if ((((email == null)) || (email.length<1)) || (email == "Неправильный Адрес")) {
email = error1;
action = "";
}
if (!validate(email)) {
email = error1;
action = "";
}
if ((name == null) || (name == "")) {
name = error2;
action = "";
}
if ((comments == null) || (comments == "")) {
comments = error2;
action = "";
}
if ((validate(email)) && (email != error1) && (name != "") && (name != error2) && (comments != "") && (comments != error2)) {
action = "send";
loadVariablesNum(mailform, 0, "POST");
gotoAndPlay("wait");
}
}
stop();

это флеш

а это пчп

<?

$adminaddress = "mikhailsk@gmail.com";
$siteaddress ="http://www.antu.ru";
$sitename = "Антураж";


$date = date("m/d/Y H:i:s");

if ($REMOTE_ADDR == "") $ip = "no ip";
else $ip = getHostByAddr($REMOTE_ADDR);


$action = $HTTP_POST_VARS['action'] ;
$email = $HTTP_POST_VARS['email'] ;
$name = $HTTP_POST_VARS['name'] ;
$comments = $HTTP_POST_VARS['comments'] ;



if ($action == "send") {
//
mail ("$adminaddress","Info Request",
"A visitor at $sitename has left the following information\n
Name: $name
Email: $email\n
The visitor commented:
------------------------------
$comments

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


mail ("$email","Спасибо за посещение $sitename",
"Здраствуйте, $name,\n
Спасибо за посещение $sitename!\n
С уважением,
$sitename
$siteaddress","FROM:$adminaddress") ;


$sendresult = "Thank you. You will receive a confirmation email shortly.";
$send_answer = "answer=";
$send_answer .= rawurlencode($sendresult);
echo $send_answer;
}


?>

miramax
25.11.2006, 16:43
Как то все очень странно!
В мозиле, все работает, а в IE7 нет
Осёл сам определяет кодировку страницы, игнорируя метатэги. Попробуй создать саму страницу в юникоде.

Arhitector
27.11.2006, 14:52
Вот тебе PHP код
<?php
$icq = $_POST['t2_2'];
$email = $_POST['t3_2'];
$subject = $_POST['t4_2'];
$message = $_POST['t5_2'];
mail("send@yuorsite.com", $subject, $message, "From: ".$email);
?>

это (Variable) указываешь в самом флеше на сами текстовые объекты.

t2_2 - поле ICQ
t3_2 - поле для мыльника
t4_2 - поле для темы
t5_2 - поле для сообщения