[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Перекодировка koi8 -> читаемую
addman
собственно сабж, есть англоязычный форум (без бд), который меня во всем устраивает, язык я перекроил, но вот постить рууские сообщения никак не хочет - выдает каракули, очень похожие на koi8. Ниже приведу вырезки кодов, который занимаются записью и обработкой, потестировать и посмотреть можно тут http://formula22.ru/forum/index.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);


и записывает вот такое:

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ї


до меня не доходит, почему он не может записать русские символы, погомите пожалуйста sad.gif

ЗЫ. если нужны какие коды - выложу



Спустя 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 не помогла, может быть я просто не так записывал ее... sad.gif

Спустя 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 - в браузере эта тема, скажем так, выглядела некорректно, так что проблема не в этом sad.gif увы sad.gif

Спустя 2 дня, 1 час, 58 минут, 15 секунд (1.02.2010 - 20:47) addman написал(а):
неужели никто не знает?

кстати забыл написать в начале - протестировать можно на страничке 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. До доктайпа ничего быть не должно.
Потом вот это место тебя не смущает?
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> 

Ну и сам файл наверняка тоже в чем попало записан.
Дальше даже смысла нет смотреть.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.