Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.04.2017, 04:46   #1
BleckZu
Новичок
Джуниор
 
Регистрация: 06.04.2017
Сообщений: 3
По умолчанию Нет русского вообще

Не отображается русский язык. Нет даже кракозябр, просто пустота. Ещё такая фишка что английский выводится но если вместе с ним поставить русский символ, пропадает все. Тупо пустота. То есть вся страница на Русском все внорме, в поле ввода пишешь, отправляешь и пустое сообщениеэ Помогите решить.

Код:
<?

if ( $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest' ) {
    define( 'ROOT', 'http://'.$_SERVER['HTTP_HOST'] );
    define( 'ROOT_DIR', $_SERVER['DOCUMENT_ROOT'] );
    session_start();
    header( 'Content-type: text/html; charset=windows-1251' );
    include_once ROOT_DIR . '/engine/config.php';
    include_once ROOT_DIR . '/engine/function.php';
    include_once ROOT_DIR . '/engine/classes/bbcode.class.php';
} else {
    if ( !defined( 'webid' ) ) { exit(); }
}

if ( !isset( $_SESSION['iduser'] ) ) {
    echo '<div class="error" style="width: 90%; margin: 10px auto; text-align: center"><b>Ошибка!</b> Вы не авторизированы.<br />Пожалуйста, воспользуйтесь формой авторизации.</div>';
} else {
include_once ROOT_DIR . '/modules/message/menu.php';

$check_read = mysql_query( "SELECT * FROM messages WHERE (from_id = '" . ( int ) $_GET['id'] . "' and to_id = '" . $_SESSION['iduser'] . "' and m_state = 'inbox' and to_del = 0) or (from_id = '" . $_SESSION['iduser'] . "' and to_id = '" . ( int ) $_GET['id'] . "' and m_state = 'outbox' and from_del = 0) ORDER BY data ASC" );
if ( mysql_num_rows( $check_read ) > 0 ) {
    $get_avatar = mysql_fetch_array( mysql_query( "SELECT avatar FROM user WHERE id = '" . ( int ) $_GET['id'] . "' LIMIT 1" ) );
    ?>
   mysql_set_charset("utf8");
    <script type="text/javascript">
    $(document).ready(function() {
        $('.wrap_read_mess').scrollTop(10000);
        $('#msgtext').focus();
        reloadpage.leftprofiles();
    });
        
    var setIid;
    setIid = setInterval('msgread()', 2000);
    
    function msgread() {
        $.post('modules/message/ajax_read.php', {
            id: <?=( int ) $_GET['id']?>
        }, function(data) {
            if (data.ok == 1) {
                $('body').append('<audio autoplay="" class="qplay"><source src="theme/sound/newmsg.ogg" ><source src="theme/sound/newmsg.mp3" ></audio>');
                for(var i = 0; i <= data.mread.length - 1; i++) {
                    $('.wrap_read_mess').append('<div class="wrap_in_mess"><div style="width: 40px; text-align: center; float: left;"><img src="<?=ROOT?>/temp/avatar/'+data.mread[i].avatar+'" width="30" height="30" class="avatar" alt="" /></div><div class="in_mess_text"><div class="us_name_mess">'+data.mread[i].username+'</div>'+data.mread[i].text+'<div class="time_mess">'+data.mread[i].data+'</div></div></div>');
                }
                $('.wrap_read_mess').scrollTop(10000);
            }
        }, "json");
        $('.qplay').remove();
    }
    
    function forum_drweb(e) {
        $('body').Qbox({
            'title': 'Проверка на вирусы',
            'width': 410,
            'minHeight': 45,
            'fadespeed': 300,
            'url': 'modules/check_drweb.php',
            'param': 'url='+e
        });
        return false;
    }
    </script>
    <div class="wrap_read_mess">
    <?
    while ( $get_mess_row = mysql_fetch_array( $check_read ) ) {
        $info_from_id = mysql_fetch_array( mysql_query( "SELECT username, avatar, id FROM user WHERE id = '" . $get_mess_row['from_id'] . "' LIMIT 1" ) );
        
        mysql_query( "UPDATE messages SET m_type = 1 WHERE id = '" . $get_mess_row['id'] . "' and m_state = 'inbox' and m_type = 0" );
        
        /*---формируем дату сообщения---*/
        $month = array( 'янв', 'фев', 'мар', 'апр', 'май', 'июн', 'июл', 'авг', 'сен', 'окт', 'ноя', 'дек' );
        
        if ( date( 'd.m.Y', $get_mess_row['data'] ) == date( 'd.m.Y', time() ) ) {
            $mess_time = 'сегодня в ' . date( 'H:i', $get_mess_row['data'] );
        } else
        if ( date( 'd.m.Y', $get_mess_row['data'] ) == date( 'd.m.Y', time() - 86400 ) ) {
            $mess_time = 'вчера в ' . date( 'H:i', $get_mess_row['data'] );
        } else {
            $mess_time = ( int ) date( 'd', $get_mess_row['data'] ) . ' ' . $month[( int ) date( 'm', $get_mess_row['data'] ) - 1] . ' ' . date( 'Y', $get_mess_row['data'] )  . ' в ' . date( 'H:i', $get_mess_row['data'] );
        }
        
        ?>
        <div class="wrap_in_mess"><div style="width: 40px; text-align: center; float: left;"><img src="<?=ROOT?>/temp/avatar/<?=$info_from_id['avatar']?>" width="30" height="30" class="avatar" alt="" /></div><div class="in_mess_text"><div class="us_name_mess"><?=$info_from_id['username']?></div><?=$get_mess_row['text']?><div class="time_mess"><?=$mess_time?></div></div></div>
        <?
    }
    /*---проверка онлайн---*/
    $mess_online = mysql_query( "SELECT id FROM online WHERE iduser = '" . ( int ) $_GET['id'] . "' LIMIT 1" );
    if ( mysql_num_rows( $mess_online ) > 0 ) {
        $mo = '<div class="mess_online">онлайн</div>';
    } else {
        $mo = '';
    }
    ?>
    </div>
    <div style="background: #f0f1f2; padding: 10px; border-bottom: 1px solid #E3E6E9;"><img src="<?=ROOT?>/temp/avatar/<?=$get_avatar['avatar']?>" width="60" height="60" class="avatar" alt="" style="float: left;" /><textarea class="val" id="msgtext" style="height: 62px; width: 420px; float: right;"></textarea><div style="padding: 10px 10px 0 10px; text-align: right; clear: both; position: relative;"><?=$mo?><div class="preload_msg"></div><a href="#" onclick="msg.Send_d(<?=( int ) $_GET['id']?>, $('#msgtext').val(), '<?=substr( md5( $message_md5 . ( int ) $_GET['id'] ), 0, 22 )?>'); return false;" class="btn_box" id="sendMsg">Отправить</a></div></div>
    <?
} else {
    echo '<div style="text-align:center; margin-top:56px; padding:20px 10px; font-weight:bold; color:#999999;">Сообщений не найдено.</div>';
}
}
?>

Последний раз редактировалось Аватар; 06.04.2017 в 09:18.
BleckZu вне форума Ответить с цитированием
Старый 06.04.2017, 09:01   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,158
По умолчанию

1. Оформляйте код с помощью специальных тегов для него
2. Расширение mysql_ устарело с 5.6 версии, а в 7 вообще не поддерживается. Используйте лучше mysqli_
3. Теперь по вашей проблеме, не видно - какой кодировки БД, какую кодировку устанавливаете при коннекте с БД и других вещей, связанных с кодировкой
4. Весь код приведенный здесь фактически бесполезен кроме строки где видно что вы до сих пор пользуетесь windows-1251. Так же советую переходить на utf8
5. Сам файл php в какой кодировке тоже неясно....
выясните все моменты - может это и станет решением проблемы
ADSoft вне форума Ответить с цитированием
Старый 07.04.2017, 03:38   #3
BleckZu
Новичок
Джуниор
 
Регистрация: 06.04.2017
Сообщений: 3
По умолчанию

Файл в 1251 база utf8 ассоциированная 1251_general_ci и все рабочее. Отображаются все русские символы. Я наверное не верно описал суть проблемы. Этот файл личных сообщений если отправить сообщение на русском то приходит пустота. На английском все корректно но если русский текст добавить к английскому то исчезает все. Кодировку менял на utf8 без боом. Не помогает, сообщение оказывается так же пустым. Через базу смотрел сообщения пустые в базу заносятся, там редактировал на русском писал, так отображается русский. Вот тут можно посмотреть ad-core.xyz

Последний раз редактировалось BleckZu; 07.04.2017 в 03:54.
BleckZu вне форума Ответить с цитированием
Старый 07.04.2017, 11:11   #4
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,158
По умолчанию

неясна формулировка - файл личных сообщений
по сайту непонятно - куда нажать и что смотреть
ADSoft вне форума Ответить с цитированием
Старый 08.04.2017, 00:00   #5
BleckZu
Новичок
Джуниор
 
Регистрация: 06.04.2017
Сообщений: 3
По умолчанию

Да впринцепе все понятно. Не приходят сообщения на Русском языке..!
BleckZu вне форума Ответить с цитированием
Старый 08.04.2017, 09:01   #6
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Используй UTF-8, всегда и везде.
Код – ппц, «... смешались в кучу кони, люди ...»©
Форму в коде не видно, что чем и как отправляется – непонятно.
http://phpfaq.ru/debug
Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Правильно или нет вот в чём вопрос но ошибок нет... Alexcool Помощь студентам 2 10.01.2010 13:55
Нет доступа в нет для Антивирусов! Ralf_ru Операционные системы общие вопросы 4 22.10.2009 16:33
Помогите пожалуйста! Я вообще в этом чайник! Мне нужна подсказка есть ли такое вообще???? Виктория010203 Помощь студентам 3 31.07.2009 22:52