$fp = fopen('./data/'.$_GET['board'].'/'.$_GET['thema'].'.txt',"a");
fwrite($fp, time().$TRENNZEICHEN.$_POST['name'].$TRENNZEICHEN.formattitel($_POST['titel']).$TRENNZEICHEN.format($_POST['text']).$TRENNZEICHEN.$_SESSION['IP'].$TRENNZEICHEN."\n");
fclose($fp);
и записывает вот такое:
1264589600їaddmanїtestїtest test testї83.246.152.47ї
1264590187їaddmanїRe: testїÑ‚ÐµÑЃÑ‚ !!!!ї83.246.152.47ї
1264590468їtestїRe: testїÑ‚ÐµÑЃÑ‚ Ñ‚ÐµÑЃÑ‚ Ñ‚ÐµÑЃÑ‚ Ñ‚ÐµÑЃÑ‚ї83.246.152.47ї
1264590758їtestїRe: testїÑ‚ÐµÑЃÑ‚ Ñ‚ÐµÑЃÑ‚!ї83.246.152.47ї
1264592277їtestїRe: testїÑ‚ÐµÑЃÑ‚- ÑЃÑЃÑ„Ñ‹Ð²Ñ„Ð² фывї83.246.152.47ї
до меня не доходит, почему он не может записать русские символы, погомите пожалуйста
ЗЫ. если нужны какие коды - выложу
Спустя 1 час, 45 минут, 29 секунд (27.01.2010 - 16:33) twin написал(а):
Вот это место меня настораживает
Цитата |
язык я перекроил, |
Как именно? И соблюдалась ли кодировка файлов при "кроении"?
Спустя 2 часа, 48 секунд (27.01.2010 - 18:33) addman написал(а):
Цитата (twin @ 27.01.2010 - 13:33) | ||
Вот это место меня настораживает
Как именно? И соблюдалась ли кодировка файлов при "кроении"? |
нет, там все "чисто" - отдельный текстовой файл, в котором просто менял значения и все, для наглядности покажу кусок:
$_TEXT['NEW_TOPIC'] = 'New topic';
$_TEXT['LOCKED_TOPICS'] = 'Locked topics';
$_TEXT['ANSWERES'] = 'Answers';
$_TEXT['VIEWS'] = 'Views';
$_TEXT['TITLE'] = 'Title';
$_TEXT['LAST_POST'] = 'Last posted';
$_TEXT['ADMINISTRATOR'] = 'Administrator';
$_TEXT['MODERATOR'] = 'Moderator';
поэтому там какая-то трабла при записывании файла, то есть когда он записывает данные, который ввожу при ответе в форуме - он что-то делает с кодировкой и...она не читается, и главное только для русских букв, для английских все отлично.
Я в php не очень понимаю, но разобрался где находиться этот кусок кода, который "записывает" и сохраняет в файл
$fp = fopen('./data/'.$_GET['board'].'/'.$_GET['thema'].'.txt',"a");
fwrite($fp, time().$TRENNZEICHEN.$_POST['name'].$TRENNZEICHEN.formattitel($_POST['titel']).$TRENNZEICHEN.format($_POST['text']).$TRENNZEICHEN.$_SESSION['IP'].$TRENNZEICHEN."\n");
fclose($fp);
format($_POST['text'])насколько я понял берется из функции, которая в начале подключается, вот эта функция:
function format($text)
{
GLOBAL $TRENNZEICHEN;
$text = htmlentities($text);
$text = nl2br($text);
$text = str_replace("\n","",$text);
$text = str_replace(chr(13),"",$text);
$text = stripslashes($text);
$text = str_replace("$TRENNZEICHEN","",$text);
$text = str_replace("&","&",$text);
$text = do_ubb($text);
$text = trim($text);
// $text = str_replace("&","&",$text);
// $text = str_replace("&#","&#",$text);
return($text);
}
пробовал что-то делать с переменной, пробовал php функцию iconv для переменной text вставлять в начало, но толку не было, я вот еще не могу понять какая кодировка у "косячного текста" (http://formula22.ru/forum/thema.php?board=0&thema=1). Больше всего похоже на koi8, но как я уже писал выше - функция iconv не помогла, может быть я просто не так записывал ее...
Спустя 7 минут, 49 секунд (27.01.2010 - 18:41) DedMorozzz написал(а):
а в какой кодировке сохранял сам файлик. К примеру зенд и ПХПдизайнер сохраняет в своей кодировке. Однажди сталкивался с таковым. И в самом дизейнере пересохранил в утф-8.
Спустя 7 минут, 54 секунды (27.01.2010 - 18:49) addman написал(а):
Цитата (DedMorozzz @ 27.01.2010 - 15:41) |
а в какой кодировке сохранял сам файлик. К примеру зенд и ПХПдизайнер сохраняет в своей кодировке. Однажди сталкивался с таковым. И в самом дизейнере пересохранил в утф-8. |
я сам файл не создаю, при создании темы, создается новый файл *.txt где хранятся сообщения, я попробовал ваш способ - сохранил у себя на компютере этот текстовой файл и пересохранил в системе utf-8 - в браузере эта тема, скажем так, выглядела некорректно, так что проблема не в этом увы
Спустя 2 дня, 1 час, 58 минут, 15 секунд (1.02.2010 - 20:47) addman написал(а):
неужели никто не знает?
кстати забыл написать в начале - протестировать можно на страничке http://formula22.ru/forum/index.php
имя пользователя: test
пароль: test
кстати забыл написать в начале - протестировать можно на страничке http://formula22.ru/forum/index.php
имя пользователя: test
пароль: test
Спустя 1 час, 4 минуты, 48 секунд (1.02.2010 - 21:52) twin написал(а):
Начни отсюда
п»ї<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
Зто есть BOM. До доктайпа ничего быть не должно.
Потом вот это место тебя не смущает?
Ну и сам файл наверняка тоже в чем попало записан.
Дальше даже смысла нет смотреть.
п»ї<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
Зто есть BOM. До доктайпа ничего быть не должно.
Потом вот это место тебя не смущает?
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
Ну и сам файл наверняка тоже в чем попало записан.
Дальше даже смысла нет смотреть.