Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> массив не понимает русский 
:(
    Опции темы
neoks
Дата 24.1.2011, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 5.7.2010

Репутация: нет
Всего: 1



Трабла с русским не могу понять что случилось.

Вот вызов функции построения окна.

Код

buld_modal({
            'title'        : 'Загрузка файлов',
            'promt'     : 'http://',
            'buttons'    : {
                
                'No'    : {
                },
                'Yes'    : {
                    'action': function(l){ insertTag('[url=' + l + ']','[/url]')}
                }
            }
        });


Сама функция 

Код

function buld_modal(params){
    var elem = $(modal_win_var);

    if(elem.length){
            return false;
    }
       
    
    var buttonHTML = '';
        $.each(params.buttons,function(name,obj){

            buttonHTML += '<div class="button"><div><div><div>'+name+'</div></div></div></div>';

            if(!obj.action){
                obj.action = function(){};
            }
    });
    
    var promt = '';

    if(params.promt){
        promt = '<div class="input"><div><input type="text" value="'+params.promt+'" id="promt_modal" /></div></div>';
    }
    
    var markup = [
            '<div id="modal_win"><div class="modal_win">',
            '<div class="top_big_win">',
            '<div class="top_big_win_2">',
            '<div class="top_big_win_3">',
            '<h3 class="title_win">',params.title,'</h3>',
            '</div></div></div>',
            '<div class="cen_big_win">',
            '<div class="cen_big_win_2">',
            '<div class="cen_big_win_3">',
            '<div class="conteiner_modal">',params.message,promt,'</div>',
            '<div id="modal_buttons">',
            buttonHTML,
            '</div><div class="clear"></div></div></div></div>',
            '<div class="bot_big_win">',
            '<div class="bot_big_win_2">',
            '<div class="bot_big_win_3">',
            '</div></div></div></div></div>'
    ].join('');
    
    $(markup).hide().appendTo('body').fadeIn();
    
        var win = $(modal_win);
        
        if(params.width){
            win.css({'width':params.width});
        }
        
        var height = win.height();
        var width  = win.width();
    
        var top    = (height / 2);
        var left   = (width  / 2);

        win.css({
             'top'        :'45%',
             'margin-top' :'-' + top + 'px',
             'margin-left':'-' + left + 'px'
             });
        

 
        win.animate({top:'50%',opacity:'1'},modal_win_speed);
             
    
    var buttons = $('#modal_buttons .button');
            i = 0;

        $.each(params.buttons,function(name,obj){
            buttons.eq(i++).click(function(){
               
                if(params.promt){
                    obj.action($('#promt_modal').val());
                }
                else{
                    obj.action();
                }
                
                close_modal();
                return false;
            });
        });
    
    
    
}


В результате выводит титл �������� ������ если написать внутри функции alert(params.title);[B][/B] то тот же результат.

Почему так в чем прикол, есть и другие функции там всю путем.
PM MAIL   Вверх
mcTep
Дата 24.1.2011, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 25.2.2009

Репутация: 1
Всего: 6



Проверьте кодировки скриптов и вывода. Скорее всего скрипт объявляющий массив в другой кодировке, нежели сама страница работающая с ним.


Это сообщение отредактировал(а) mcTep - 24.1.2011, 16:18
PM MAIL   Вверх
neoks
Дата 24.1.2011, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 5.7.2010

Репутация: нет
Всего: 1



Кажется понял в чем прикол, дело в том что я загружаю контент через $.post а от откуда вызываю скрипт с этой функцией.
Теперь другой вопрос как скрипт перевести в другую кадровику.
PM MAIL   Вверх
mcTep
Дата 24.1.2011, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 25.2.2009

Репутация: 1
Всего: 6



Цитата(neoks @  24.1.2011,  16:38 Найти цитируемый пост)
Теперь другой вопрос как скрипт перевести в другую кадровику. 


В Notepad++ есть соответствующие функции.
PM MAIL   Вверх
neoks
Дата 24.1.2011, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 5.7.2010

Репутация: нет
Всего: 1



Цитата

В Notepad++ есть соответствующие функции. 

Я знаю про эти функции, Notepad тут не поможет.
У меня все файлы с кодировкой ANSI.
Уже была подобная трабла, контент через пост загружался с другой кодировкой.
Тогда проблема была решена путем добавления в пхп файл кода

Код

header('Content-type: text/html; charset=windows-1251');


Но тут другая проблема, пробывал в скрипт добавлять кодировку

Код

<script src="..." type="text/javascript" charset="windows-1251"></script>


Увы не помогло !, прошлось проявить изобретательность, взял все русские слова и запихнул в переменные.

Код

<script>
var bb_t_link = 'Адрес ссылки',
    bb_t_upload = 'Загрузка файлов',
    bb_t_spoiler = 'Вставка споилера',
    bb_t_image = 'Вставка изображения';
</script>
<script src="..." type="text/javascript" charset="windows-1251"></script>


Конечно не шедевр но работает, но хотелось бы знать как это исправить.

PM MAIL   Вверх
mcTep
Дата 24.1.2011, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 25.2.2009

Репутация: 1
Всего: 6



Попробуйте преобразовать кодировки уже на клиенте

http://www.google.ru/#sclient=psy&hl=r...f93b5744ee16a09
PM MAIL   Вверх
neoks
Дата 24.1.2011, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 5.7.2010

Репутация: нет
Всего: 1



Что то толком не чего путного не нашол.
Нашол какой та скрипт:
Код

UTF8 = {
    encode: function(s){
        for(var c, i = -1, l = (s = s.split("")).length, o = String.fromCharCode; ++i < l;
            s[i] = (c = s[i].charCodeAt(0)) >= 127 ? o(0xc0 | (c >>> 6)) + o(0x80 | (c & 0x3f)) : s[i]
        );
        return s.join("");
    },
    decode: function(s){
        for(var a, b, i = -1, l = (s = s.split("")).length, o = String.fromCharCode, c = "charCodeAt"; ++i < l;
            ((a = s[i][c](0)) & 0x80) &&
            (s[i] = (a & 0xfc) == 0xc0 && ((b = s[i + 1][c](0)) & 0xc0) == 0x80 ?
            o(((a & 0x03) << 6) + (b & 0x3f)) : o(128), s[++i] = "")
        );
        return s.join("");
    }
};


Протестировал, результат не впечатлил, может он и переводит но символы �������� ������  ему не од алеть .
Вообщем думаю так наверно и оставлю.  smile 

PM MAIL   Вверх
cccr85
Дата 24.1.2011, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 13.7.2010

Репутация: нет
Всего: 2



насколько я знаю, кодировку указывают ДО src. Может дело в этом?
PM MAIL   Вверх
neoks
Дата 24.1.2011, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 5.7.2010

Репутация: нет
Всего: 1



Цитата

cccr85
насколько я знаю, кодировку указывают ДО src. Может дело в этом? 

Не помогло результат тот же  smile 
PM MAIL   Вверх
cccr85
Дата 25.1.2011, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 13.7.2010

Репутация: нет
Всего: 2



ну значит понты с кодировкой в файле. Измените кодировку, способов много. Я подскажет.
PM MAIL   Вверх
neoks
Дата 25.1.2011, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 5.7.2010

Репутация: нет
Всего: 1



Цитата

cccr85
ну значит понты с кодировкой в файле. Измените кодировку, способов много. Я подскажет. 

Да вот и весь прикол, сделал другой файл для теста и сделал вызов, результат тот же.

Я знаю иза чего все это происходит но не знаю как исправить.

Вот как все обстоит, у меня есть файл demo.html и к нему я подключаю js файл my_script.js.
Открываю demo.html через браузер, кликаю на кнопочку и дополнительно подгружаю контент то есть файл content.html.
В файле content.html чтоб не писать кучу скриптов я подключаю скрипт ser.js.

И вот тут и прикол, ведь если не подключать скрипт ser.js а сразу засунуть в content.html то все работает, но если подключать то тут беда.  smile 
PM MAIL   Вверх
cccr85
Дата 25.1.2011, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 13.7.2010

Репутация: нет
Всего: 2



Ничего не понял, примеры в студию

PM MAIL   Вверх
ksnk
Дата 25.1.2011, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



neoks, все данные, передаваемые с помощью ajax должны быть в utf-8. Никакие пляски с другими кодировками и "правильное" их указание в заголовках не приводит к разумному кроссброузерному результату.
Если данные в другой кодировке - их нужно перекодировать на стороне сервера в utf в момент передачи клиенту.

Хотя, конечно, если хочется "помучиться" - можно просматривать заголовки у передаваемых-получаемых данных в отладчике. Мне почему-то кажется, что передаваемый скрипт имеет совсем даже другой заголовок. Если это так, то можно посмотреть на директиву AddDefaultCharset


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
neoks
Дата 25.1.2011, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 5.7.2010

Репутация: нет
Всего: 1



Ох пример большой но попробую показать по короче.
demo.html

Код

<script type="text/javascript" src="my_script.js"></script>

<div onckick="window()">click my</div>

<div id="test"></div>


my_script.js

Код

function buld_modal(arr){
 alert(arr.title);
}

function window(){
     $.post(..../content.html,function(data){
             $('#test').html(data);
    });
}


content.html

Код

<script type="text/javascript" src="ser.js"></script>
.....
<div onclick="bb_b"></div>
......


ser.js

Код

function bb_b(){
      buld_modal({'title':Просто тест});
}


Вот так выглядит пример, но если я напишу в conect.html функцию  bb_b() то все путем  smile 



PM MAIL   Вверх
ksnk
Дата 25.1.2011, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



neoks, 
Цитата(ksnk @  25.1.2011,  15:33 Найти цитируемый пост)
можно просматривать заголовки у передаваемых-получаемых данных в отладчике.

рекомендую Хром. там все уже стоит, нужно только разрешить отладку. Или в FireFox - плагин FireBug.




--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0562 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.