Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Кодировка.
 
 автор: Rembrant   (11.05.2007 в 13:22)   письмо автору
 
 

Всем привет. У меня небольшая проблема с кодировкой и еще большая проблема заключается в том, что я вообще практически ничего о ней не знаю, соответственно прошу помощи у Вас!!! =)
Есть четыре файла:
text.php - фрейм вывода сообщений
send.php - фрейм ввода сообщений
add.php - файл обрабатывающий введенные сообщения

В ie за место русских букв выводит знаки вопросов

Скажите куда какие кодировки ставить.

send.php

...
<FORM NAME="sendform" action="add.php" method="post">
<?
error_reporting
(0);
$login=$_GET['login'];
?>
<INPUT TYPE="hidden" VALUE="<? echo $login;?>" NAME="login">
<INPUT TYPE="text" NAME="who" STYLE="width:15%" STYLE="border-width:1px; border-color:black">
<INPUT TYPE="text" NAME="text" STYLE="width:75%" STYLE="border-width:1px; border-color:black"></TD>
<TD WIDTH="15%"><INPUT TYPE="submit" VALUE="Сказать" STYLE="border-width:1px; border-color:black"></TD>
</FORM>
...


add.php

<?php
header
("Content-type: text/html; charset=windows1251");

$text=$_POST['text'];

$who=$_POST['who'];
$login=$_POST['login'];
$data=" <small> ...".date(" H:i:s ")."...</small><br>";

$file=fopen('chat.txt','a');
fwrite($file,"\n <B>" .$login" => " .$who"</B> : " .$text" ".$data);
fclose($file);

header("Location:send.php?login=".$login."&who=".$who."&text=".$text);
?>


text.php

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> 
<script type="text/javascript">
function ajaxRead(file){ 
charset = 'windows-1251';
var Obj = null; 
  if(window.XMLHttpRequest){ 
       Obj = new XMLHttpRequest(); 
  } else if(window.ActiveXObject){ 
      Obj = new ActiveXObject("Microsoft.XMLHTTP"); 
  } else { 
      return; 
  } 
......
<body onload="ajaxRead('chat.txt')"> 
<p id="Obj"> 

</p> 
</body> 
</html> 


Заранее спасибо ))

   
 
 автор: bronenos   (11.05.2007 в 13:41)   письмо автору
 
   для: Rembrant   (11.05.2007 в 13:22)
 

Во всех трех пиши
header ('Content-Type: text/html; charset=windows-1251');

   
 
 автор: Rembrant   (11.05.2007 в 13:57)   письмо автору
 
   для: bronenos   (11.05.2007 в 13:41)
 

написал, все попрежнему

   
 
 автор: bronenos   (11.05.2007 в 14:08)   письмо автору
 
   для: Rembrant   (11.05.2007 в 13:57)
 

Obj.setRequestHeader ('Content-Type', 'text/html; charset=windows-1251');
если не ошибся, перед Obj.send

   
 
 автор: coloboc66   (11.05.2007 в 14:10)   письмо автору
 
   для: Rembrant   (11.05.2007 в 13:57)
 

Если вы используете аякс и метод POST, то данные в национальных кодировках нужно кодировать перед отправкой в encodeURIComponent() и на сервере их соответственно выуживать с помощью UTF-8 и iconv().

   
 
 автор: bronenos   (11.05.2007 в 14:22)   письмо автору
 
   для: coloboc66   (11.05.2007 в 14:10)
 

при GET тоже ведь надо...?

   
 
 автор: Rembrant   (11.05.2007 в 14:31)   письмо автору
 
   для: bronenos   (11.05.2007 в 14:22)
 

Obj.setRequestHeader ('Content-Type', 'text/html; charset=windows-1251');

также всё

   
 
 автор: Rembrant   (11.05.2007 в 14:32)   письмо автору
 
   для: Rembrant   (11.05.2007 в 14:31)
 

coloboc! а как в моём случае кодировать в encodeURIComponent() ?

   
 
 автор: coloboc66   (11.05.2007 в 14:58)   письмо автору
 
   для: Rembrant   (11.05.2007 в 14:32)
 

В вашем случае не знаю, я аякс создавал по-другому, а принцип такой:
<form>
<input type=text name=msg >
...
</form>
<script>
msg=encodeURIComponent(document.forms[0].msg.value);
//теперь вызываем аякс и передаем ему закодированные данные
ajax('file.php',msg);
function ajax(url, date)
{
...
Obj.send(date);
}
</script>

to bronenos: возможно да...

   
 
 автор: bronenos   (11.05.2007 в 15:00)   письмо автору
 
   для: coloboc66   (11.05.2007 в 14:58)
 

2 Rembrant
в моем классе смотри функцию this.prepare снизу

   
 
 автор: Rembrant   (12.05.2007 в 14:02)   письмо автору
 
   для: bronenos   (11.05.2007 в 15:00)
 

кароче ничё у меня не получается ((((

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования