|
|
|
| Всем привет. У меня небольшая проблема с кодировкой и еще большая проблема заключается в том, что я вообще практически ничего о ней не знаю, соответственно прошу помощи у Вас!!! =)
Есть четыре файла:
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>
|
Заранее спасибо )) | |
|
|
|
|
|
|
|
для: Rembrant
(11.05.2007 в 13:22)
| | Во всех трех пиши
header ('Content-Type: text/html; charset=windows-1251'); | |
|
|
|
|
|
|
|
для: bronenos
(11.05.2007 в 13:41)
| | написал, все попрежнему | |
|
|
|
|
|
|
|
для: Rembrant
(11.05.2007 в 13:57)
| | Obj.setRequestHeader ('Content-Type', 'text/html; charset=windows-1251');
если не ошибся, перед Obj.send | |
|
|
|
|
|
|
|
для: Rembrant
(11.05.2007 в 13:57)
| | Если вы используете аякс и метод POST, то данные в национальных кодировках нужно кодировать перед отправкой в encodeURIComponent() и на сервере их соответственно выуживать с помощью UTF-8 и iconv(). | |
|
|
|
|
|
|
|
для: coloboc66
(11.05.2007 в 14:10)
| | при GET тоже ведь надо...? | |
|
|
|
|
|
|
|
для: bronenos
(11.05.2007 в 14:22)
| | Obj.setRequestHeader ('Content-Type', 'text/html; charset=windows-1251');
также всё | |
|
|
|
|
|
|
|
для: Rembrant
(11.05.2007 в 14:31)
| | coloboc! а как в моём случае кодировать в encodeURIComponent() ? | |
|
|
|
|
|
|
|
для: 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: возможно да... | |
|
|
|
|
|
|
|
для: coloboc66
(11.05.2007 в 14:58)
| | 2 Rembrant
в моем классе смотри функцию this.prepare снизу | |
|
|
|
|
|
|
|
для: bronenos
(11.05.2007 в 15:00)
| | кароче ничё у меня не получается (((( | |
|
|
|