| |
|
|
| | Вроде все замеченные ошибки устранил, проверил в Опере, Лисе и ИЕ - работает.
http://berestye.com/scripts/chat/ | |
| |
|
|
| |
|
|
| |
для: coloboc66
(08.05.2007 в 10:32)
| | | Вот это почему-то не работает на реальном хосте:
$user=$_SESSION['user'];
if (isset($user))
{
$fp=fopen($f_chat,'a');
if(!$fp)
{
echo iconv("windows-1251","UTF-8",'Запрос не может быть обработан. Попробуйте позже.');
exit;
}
$outputstring=iconv("windows-1251", "UTF-8",$today.' Пользователь '.$user.' вышел из чата.'."\r\n");
fwrite($fp,$outputstring);
fclose($fp);
}
unset($_SESSION['user']);
session_destroy();
exit;
|
а на локальном работает, не могу понять, в чем дело? | |
| |
|
|
| |
|
|
| |
для: coloboc66
(08.05.2007 в 11:00)
| | | Всё определяется значением переменной $f_chat а также характеристиками файла (права , владелец, группа), имя которого в ней записано.
Как-то странно гонять преобразующую функцию для текстовых констант. Не проще ли текст скрипта набрать (импортировать и сохранить) в кодировке utf-8? | |
| |
|
|
| |
|
|
| |
для: Trianon
(08.05.2007 в 11:08)
| | | Для аякса нужно обязательно отсылаемые данные кодировать в encodeURIComponent(). Отсюда и приходится гонять преобразующую функцию. Насчет "набрать и сохранить текст скрипта в кодировке UTF-8" не понял... | |
| |
|
|
| |
|
|
| |
для: coloboc66
(08.05.2007 в 12:09)
| | | ну если вам не лень перекодировать данные во всех логических условиях, выборках и прочем, то можно и не перекодировать сам скрипт. Но я бы многое отдал чтобы посмотреть на него в итоге! | |
| |
|
|
| |
|
|
| |
для: Loki
(08.05.2007 в 12:13)
| | | Не понимаю, что означает "перекодировать скрипт"? Скрипт пишется латинскими буквами, как, куда, и для чего его кодировать???
P.S. to Trianon: Но аналогичный скрипт, связанный со входом в чат, нормально работает... | |
| |
|
|
| |
|
|
| |
для: coloboc66
(08.05.2007 в 12:16)
| | | Латинские или не латинские - юникоду все равно. Если в скрипте у вас будет однобайтовая кодировка, а извне поступать многобайтовая, то работать это правильно не будет. | |
| |
|
|
| |
|
|
| |
для: Loki
(08.05.2007 в 12:26)
| | | Так это что: нужно открыть блокнот, набрать в нем скрипт и сохранить его в UTF-8? Так, что-ли? Чудо какое-то... Впервые сталкиваюсь с подобной проблемой... | |
| |
|
|
| |
|
|
| |
для: coloboc66
(08.05.2007 в 12:34)
| | | Ну вообще-то когда вывод скрипта ожидается в utf-8 - написать сам скрипт в utf-8 вполне естественно.
Возможно, придется вырезать Byte Order Mark - форменное гадство, что php-движок не делает этого сам. | |
| |
|
|
| |
|
|
| |
для: coloboc66
(08.05.2007 в 12:34)
| | | >Так это что: нужно открыть блокнот, набрать в нем скрипт и сохранить его в UTF-8? Так, что-ли? Чудо какое-то... Впервые сталкиваюсь с подобной проблемой...
Если блокнотом действовать - точно придется BOM вырезать.
Лучше каким-нибудь более аккуратным редактором.
Ну и все iconv посшибать нафиг. | |
| |
|
|
| |
|
|
| |
для: Loki
(08.05.2007 в 12:26)
| | | utf-8 - кодировка с переменным размером символа. Вся латынь в ней - однобайтовая. | |
| |
|
|
| |
|
|
| |
для: Trianon
(08.05.2007 в 14:13)
| | | да. это я стормозил. Но в скриптах используется не только латынь... | |
| |
|
|
| |
|
|
| |
для: Loki
(08.05.2007 в 14:26)
| | | Так что: скрипт сохранять в UTF-8???!!! А что такое ВОМ? Ё-мое... | |
| |
|
|
| |
|
|
| |
для: coloboc66
(08.05.2007 в 14:43)
| | | Блокнот дописывает перед текстом один unicode-спецсимвол Byte Order Mark - метка порядка байт, а открывая позднее файл, по наличию этого символа, определяет, сохранен ли текст в одном из unicode-форматов, а если да,то в каком именно.
U+FEFF (Byte Order Mark)
В формате utf-8 этот символ кодируется байтами EF BB BF
В utf16-le - байтами FF FE
В utf16-be - естественно - байтами FE FF | |
| |
|
|
| |
|
|
| |
для: Trianon
(08.05.2007 в 14:56)
| | | Кажись, кто-то мой чат уже ломанул, Loki скорей всего. Жаль - руки до него не дотянутся. А то бы я его самого ломанул бы... | |
| |
|
|
| |
|
|
| |
для: coloboc66
(08.05.2007 в 15:22)
| | | логи в студию. | |
| |
|
|
| |
|
|
| |
для: Loki
(08.05.2007 в 16:31)
| | | Если пока оставить в покое перекодирующие функции, то все работает, за исключением того, что в файл не записывается строка о выходе из чата (хотя на локалке все нормально). Кто знает, почему???? | |
| |
|
|