проблема с кодировками @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 18 ] 
*   Список форумов / Технологии изображения / Flash » ответить » создать топик « | »
Автор Сообщение
Eduard Муж.
участник
61
Сообщения: 1629
Зарегистрирован: 24.09.03
Откуда: St.Petersburg , Moscow
Заголовок сообщения: проблема с кодировками
Сообщение Добавлено: 22 Январь 2006, 21:06:00 
Помогите ! уж совсем замучался с кодировками , мой сайт (flashtown.org) перенесли на новый сервер , теперь в гостевой все криво , и почту на русском не могу отправить . Я вот подумал что для начала надо понять в какой кодировке флеш посылает данные php скриптам , а я в php и в sql ниче не понимаю .

На старом хостинге все работало через koi8r , на новом этой кодировки нету . Сказали использовать win1251 .

для отправки почты пхп:

<?PHP
$to = "mymail";
$msg .= "From: $name\n";
$msg .= "E-mail: $email\n\n";
$msg .= "\n";
$msg .= "$message\n";
$msg .= "----------\n\n";
$msg=mb_convert_encoding($msg, "KOI8-R", "UTF-8");
mail($to, "feedback", $msg, "From: $email\n");
?>

сейчас работает только если убрать строку $msg=mb_convert_encoding($msg, "KOI8-R", "UTF-8");
пробывал вместо KOI8-R подставлять всякие кодировки , не помгло.

инфа о сервере :
Версия Apache 1.3.34 (Unix)
Версия MySQL 4.1.13-standard
Версия PHP 4.4.1
Версия PERL 5.8.3
Операционная система Linux
gOloVasTicK Муж.
соучастник
21
Сообщения: 732
Зарегистрирован: 24.02.04
Откуда: St.Petersburg
Сообщение Добавлено: 22 Январь 2006, 21:36:05 
$msg=mb_convert_encoding($msg, "UTF-8", "win-1251");
Должно работать

и на всякий случай
mail($to, "feedback", $msg, "From: $email\nContent-Type: text/html; charset=windows-1251");
Eduard Муж.
участник
61
Сообщения: 1629
Зарегистрирован: 24.09.03
Откуда: St.Petersburg , Moscow
Сообщение Добавлено: 22 Январь 2006, 22:13:19 
gOloVasTicK, не помогает , если добавляю mb_convert_encoding , то письмо вобще не отправляется.

а так вместо текста "тест" , вот это : я┌п╣я│я┌
gOloVasTicK Муж.
соучастник
21
Сообщения: 732
Зарегистрирован: 24.02.04
Откуда: St.Petersburg
Сообщение Добавлено: 22 Январь 2006, 23:07:53 
Попробуй:
mail($to, "feedback", $msg, "From: $email\nContent-Type: text/html; charset=UTF-8");
Должно и без перекодировки работать.

А с перекодировкой можно попробовать другую функцию заюзать.
$msg=iconv("utf-8","windows-1251",$msg);
Тогда в мыле все так же оставить, как было.
Eduard Муж.
участник
61
Сообщения: 1629
Зарегистрирован: 24.09.03
Откуда: St.Petersburg , Moscow
Сообщение Добавлено: 22 Январь 2006, 23:51:56 
gOloVasTicK, :beer: ура! работает , $msg=iconv("utf-8","koi8-r",$msg);
gOloVasTicK Муж.
соучастник
21
Сообщения: 732
Зарегистрирован: 24.02.04
Откуда: St.Petersburg
Сообщение Добавлено: 22 Январь 2006, 23:57:08 
Eduard, :beer:
Eduard Муж.
участник
61
Сообщения: 1629
Зарегистрирован: 24.09.03
Откуда: St.Petersburg , Moscow
Сообщение Добавлено: 23 Январь 2006, 00:27:06 
теперь разобраться бы с гостевой книгой
я немного понял как редактировать БД через phpMyAdmin ,
какие кодировки должны быть проставлены и где (их там много :( )

вот пхп файлы для гостевой :

install.php
Код:
<?
require_once("config.php");

$DBconnect = mysql_connect($DBhost, $DBuser, $DBpass);
mysql_select_db($DBname, $DBconnect);

$sql="CREATE TABLE guestbook" . "(
         id int(11) NOT NULL auto_increment,
           name varchar(255) NOT NULL,
         email varchar(255),
         message text NOT NULL,
         date varchar(255) NOT NULL,
         ip varchar(255) NOT NULL,
         PRIMARY KEY (id))";
      @mysql_query($sql, $DBconnect) or die(mysql_error());

print "Table created.….";

?>



config.php
Код:
<?

$DBhost = "localhost";
$DBuser = "namebd";
$DBpass = "passbd";
$DBname = "namebd";

$DBtable = "guestbook";

?>



submitEntries.php
Код:
<?

require_once("config.php");

$DBconnect = mysql_connect($DBhost, $DBuser, $DBpass);
mysql_select_db($DBname, $DBconnect);

$Date = (date ("d/m/y",time()));
$ip = getenv('REMOTE_ADDR');

if ($Submit == "Yes") {
   mysql_query("INSERT INTO $DBtable (name,email,message,date,ip) VALUES ('$Name','$Email','$Message','$Date','$ip')",$DBconnect) or die(mysql_error());
}
?>



getEntries.php
Код:
<?

require_once("config.php");

$DBconnect = mysql_connect($DBhost, $DBuser, $DBpass);
mysql_select_db($DBname, $DBconnect);

$number = mysql_query("SELECT * FROM $DBtable", $DBconnect) or die (mysql_error());
$postcount = @mysql_num_rows($number);

$postLow = $postcount - $NumHigh;
$postHigh = $postLow + 11;

$result = mysql_query("SELECT * FROM $DBtable WHERE id > $postLow AND id < $postHigh ORDER BY id DESC", $DBconnect) or die (mysql_error());
$postdisplay = @mysql_num_rows($result);

for ($count = 0; $count < $postdisplay; $count++) {
    $post = mysql_fetch_array($result);
    $id = $post['id'];
   $name = $post['name'];
    $email = $post['email'];
   $message = $post['message'];
   $date = $post['date'];
    $ip = $post['ip'];
   
    $output .= "<font color=\"#4D778C\">Name: </font>" . "<a href=\"mailto:$email\">$name</a>" . "<br />";
   $output .= "<font color=\"#4D778C\">Message: </font>" . $message . "<br />";
    $output .= "<font color=\"#6B391F\">Date: </font>" . "<font color=\"#6B391F\">$date</font>". "<br />". "<br />" ;   
   if ($id == 1) {
         $output .= "<font color=\"#4D778C\">No more entries.…..</font>";
   }
}

print "&guestbook=$output&postcount=$postcount&numhigh=$NumHigh&numlow=$NumLow";

?>
gOloVasTicK Муж.
соучастник
21
Сообщения: 732
Зарегистрирован: 24.02.04
Откуда: St.Petersburg
Сообщение Добавлено: 23 Январь 2006, 00:45:35 
В config.php надо прописать данные мускула на новом хостинге, возможно для этого надо будет сначала создать новую базу. Потом запустить install.php и по идее все должно заработать.
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 23 Январь 2006, 04:07:19 
мда :laugh:

если ты хочешь чтоб небыло вопросов заместо русских букв. то в файл
config.php можно прописать header("Content-Type:text/html;charset=UTF-8");

Таким образом вся работа с текстом будет вестись в UTF-8

P.s.
заместо UTF-8 можно поставить нужную тебе кодировку

P.p.s.
вобщето хостер тебе сам должен помочь в таких вопросах ;)

_________________
можно на ТЫ.
Eduard Муж.
участник
61
Сообщения: 1629
Зарегистрирован: 24.09.03
Откуда: St.Petersburg , Moscow
Сообщение Добавлено: 23 Январь 2006, 09:39:06 
bE(o0L, я правильно понял что после добавления header... все уже будет заносится в бд в юникоде , а значит не обязательно базу данных заново создавать , или ?
кодировка sql должна быть utf8_general_ci или utf8_bin или utf8_unicode_ci ?
BlooDHounD Муж.
соучастник
0
Сообщения: 585
Зарегистрирован: 12.03.04
Откуда: Беларусь - Борисов
Сообщение Добавлено: 23 Январь 2006, 09:43:58 
header на сколько я помню отвечает за кодировку, которую получить пользователь открывший страницу …. или нет?
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 23 Январь 2006, 16:08:29 
Eduard, ага
функция header проставляет заголовок странице. Поэтому работать будет у любого получателя контента. Пользователь, сервер, робот - какая разница?

_________________
можно на ТЫ.
BlooDHounD Муж.
соучастник
0
Сообщения: 585
Зарегистрирован: 12.03.04
Откуда: Беларусь - Борисов
Сообщение Добавлено: 23 Январь 2006, 23:38:15 
Большая разница :) к тому что запишится в БД это не имеет отношения :)
BlooDHounD Муж.
соучастник
0
Сообщения: 585
Зарегистрирован: 12.03.04
Откуда: Беларусь - Борисов
Сообщение Добавлено: 23 Январь 2006, 23:41:32 
если из БД будет браться кодировка ЮТФ а хеадер в КОИ то результат будет плачевный :)
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 24 Январь 2006, 00:52:24 
BlooDHounD, молодец, ты сам себя опять переспорил. Мне даже не нужно (как всегда) тебя вразумлять. ;)

_________________
можно на ТЫ.
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 24 Январь 2006, 00:57:07 
кстати

Цитата:
к тому что запишится в БД это не имеет отношения


в корне не верное предложение.

_________________
можно на ТЫ.
BlooDHounD Муж.
соучастник
0
Сообщения: 585
Зарегистрирован: 12.03.04
Откуда: Беларусь - Борисов
Сообщение Добавлено: 24 Январь 2006, 10:36:00 
хорошо. умничка, возьми пирожёк с полки дочка. а теперь давай сюда пхпистов звать :beer: а то я сам не авторитет. что-то мне подсказывает, что и ты тоже :)
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 24 Январь 2006, 22:21:20 
гы

_________________
можно на ТЫ.
*   Список форумов / Технологии изображения / Flash « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 18 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100