Русское сообщество fluxbb

Быстрый лёгкий надёжный форумный движок

Вы не вошли.

Объявление

Вы можете внести свой вклад в содержание сайта. Жертвователи попадут в почетную группу "Спонсоры". Поддержать сайт.

#1 2008-02-01 14:50:53

Zevs
Гость

Мод Ajax Post Edit - проблема !

Нашел интересный мод для редактирования постов. Все хорошо, но проблема с русским. Работает только с UTF-8, а у меня Windows - 1251 sad

http://www.punres.org/viewtopic.php?id=4423

#2 2008-02-04 09:57:00

artoodetoo
Гость

Re: Мод Ajax Post Edit - проблема !

"о сколько раз твердили миру..."
а есть рациональное объяснение зачем цепляться за 1251?

#3 2008-02-04 10:28:47

Zevs
Гость

Re: Мод Ajax Post Edit - проблема !

Ну, что есть, то есть.. Переводить на UTF пока не собираюсь. Как говорится - работает  - не трожь ! big_smile
Так что - в морг ? Или есть варианты с этим модом ?

#4 2008-02-04 11:02:34

hcs
Гость

Re: Мод Ajax Post Edit - проблема !

Отсылай ответ в своей кодировке, какие еще тут варианты.

#5 2008-02-04 11:12:11

artoodetoo
Гость

Re: Мод Ajax Post Edit - проблема !

iconv

#6 2008-02-04 11:14:51

Zevs
Гость

Re: Мод Ajax Post Edit - проблема !

<?
if(isset($_POST['utf'])) header("Content-type: text/html; charset=windows-1251");

define('PUN_ROOT', '../../');
require PUN_ROOT.'include/common.php';
require PUN_ROOT.'include/parser.php';

require PUN_ROOT.'lang/'.$pun_user['language'].'/topic.php';

$action = $_POST['action'];
$id = $_POST['id'];

if ($action == "get" && is_numeric($id)) {
    $result = $db->query('SELECT message, edited, edited_by FROM '.$db->prefix.'posts WHERE id = '.$id) or error('Unable to fetch post info', __FILE__, __LINE__, $db->error());
    $post = $db->fetch_assoc($result);

    echo $lang_topic['Update'].'<!-- -->'.$lang_topic['Cancel'].'<!-- -->'.$lang_topic['Saving'];
    echo '<!-- -->'.strip_tags($post['message']).'<!-- -->'. parse_message(strip_tags($post['message']), 0);

    if ($post['edited'] != '')
        echo '<!-- --><p class="postedit"><em>'.$lang_topic['Last edit'].' '.pun_htmlspecialchars($post['edited_by']).' ('.format_time($post['edited']).')</em></p>'."\n";

} elseif ($action == "update" && isset($_POST['message']) && is_numeric($id)) {
    $message = strip_tags($_POST['message']);
    $edited_time = time();
    $result = $db->query('UPDATE '.$db->prefix.'posts SET message=\''.$db->escape($message).'\', edited='.$edited_time.', edited_by=\''.$db->escape($pun_user['username']).'\' WHERE id='.$id) or error('Unable to update post info', __FILE__, __LINE__, $db->error());
    echo parse_message($message, 0);

    echo "\t\t\t\t\t".'<p class="postedit"><em>'.$lang_topic['Last edit'].' '.pun_htmlspecialchars($pun_user['username']).' ('.format_time($edited_time).')</em></p>'."\n";
}


?>

А куда его (iconv) тут запихать ?

#7 2008-02-04 12:04:47

artoodetoo
Гость

Re: Мод Ajax Post Edit - проблема !

сразу оговорюсь - это путь через задний проход smile

вот здесь близко: iconv + буффер

куда это пихать сам решай. пример рабочий.
идея в том, чтобы выдавать данные в той кодировке, какую ждет запрашивающая сторона, а при записи надо делать обратную перекодировку.
твой фрагмент не говорит ни о чем...

мучайся

#8 2008-02-04 12:26:28

hcs
Гость

Re: Мод Ajax Post Edit - проблема !

Zevs пишет:
if(isset($_POST['utf'])) header("Content-type: text/html; charset=windows-1251");

Что сие значит? Попробуй без всяких if, слать свой контент-тайп.

#9 2008-02-04 12:52:01

Zevs
Гость

Re: Мод Ajax Post Edit - проблема !

hcs пишет:

Что сие значит? Попробуй без всяких if, слать свой контент-тайп.

убрал if  - не помогает

Добавлено спустя     6 минут   54 секунды:
artoodetoo

Помогла вставка $message = iconv('UTF-8','CP1251', $message);
перед UPDATE

Спасибо !!!

#10 2008-02-13 22:03:00

nobody
Гость

Re: Мод Ajax Post Edit - проблема !

спасибо и от меня! себе тоже прикрутил )))

#11 2008-02-14 10:45:57

Zevs
Гость

Re: Мод Ajax Post Edit - проблема !

Только вот проблема - в IE не работает sad

#12 2008-02-14 21:31:48

nobody
Гость

Re: Мод Ajax Post Edit - проблема !

Да, и у меня в осле не хочет работать, только слева надпись появляется "Загрузка..." и все sad Хотя, в осле вообще мало что работает wink

#13 2008-02-15 10:22:31

spycam
Гость

Re: Мод Ajax Post Edit - проблема !

как же меня это осел достал сцуко...

#14 2008-02-15 15:29:23

nobody
Гость

Re: Мод Ajax Post Edit - проблема !

Главный косяк в том, что большинство юзверей ездят на осле. Они не сидят в опере, не держат огненных лис и не учавствуют в сафари smile... Если бы осел не был так популярен, сколько бы аспирина сэкономили wink

#15 2008-02-28 12:54:48

iDrum
Гость

Re: Мод Ajax Post Edit - проблема !

если у вас так в edit.php
$message = iconv('UTF-8','CP1251', $message);
$result = $db->query('UPDATE '.$db->prefix.'posts SET message=\''.$db->escape($message).'\', edited='.$edited_time.', edited_by=\''.$db->escape($pun_user['username']).'\' WHERE id='.$id) or error('Unable to update post info', __FILE__, __LINE__, $db->error());
по после это (перед     echo '<message>'.parse_message($message, 0).'</message>';)
добавьте
$message = iconv('CP1251', 'UTF-8', $message);

это проблема ие,ему нада указывать в js кодировку,но лучше взаимодействие фронтэнд->бэкенд делать в utf

Подвал доски

Под управлением FluxBB. Хостинг Hostens