Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> русские буквы в строке (JS->PHP) 
:(
    Опции темы
Gold Dragon
Дата 19.5.2011, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



Суть в следующем.. Используя JQuery я получаю данные из формы и отправляю Ajax`ом на исполнение... Во всех браузерах нет проблем. В Осле проблемы... не понимает кодировку...

Как мне лучше закодировать строку в javascript`е, вставить её в URL и раскодировать в PHP?

Добавлено @ 14:38
забыл уточнить... проект на UTF-8

Это сообщение отредактировал(а) Gold Dragon - 19.5.2011, 15:10


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
bars80080
Дата 19.5.2011, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



если всё на UTF-8, значит проблем быть не должно. а раз они есть, стало быть, где-то идёт нарушение кодировки.
с какими заголовками грузится страница?
PM MAIL WWW   Вверх
$дмитрий
Дата 19.5.2011, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 17
Всего: 45



Цитата

Как мне лучше закодировать строку в javascript`е, вставить её в URL и раскодировать в PHP?

Как вариант base64. 

Но будет правильнее решить проблему с кодировкой на сервисе
PM MAIL   Вверх
Gold Dragon
Дата 19.5.2011, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



bars80080, так, а что нужно проверить? Чтобы все задействованные файлы были UTF-8?
на сервере в .htaccess чётко прописано AddDefaultCharset UTF-8, весь движок тоже на utf-8 работает...

строка отправляется по типа такой
_http://moy_site.ru/index.php?page=chtoto&str=пример

Добавлено через 2 минуты и 9 секунд
Цитата($дмитрий @  19.5.2011,  21:26 Найти цитируемый пост)
Но будет правильнее решить проблему с кодировкой на сервисе 
что имеется в виду? Только осёл как-то преобразует строку.. в итоге $_GET['str'] приходит не по-русски 



--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
bars80080
Дата 19.5.2011, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



смотреть какие заголовки приходят (iedisplayheaders), с какой кодировкой страница, в какой кодировке подключаемые .js файлы, в какой php-скрипты, используются ли мультибайтные функции.

вообще, каждый этап проверять
PM MAIL WWW   Вверх
Gold Dragon
Дата 20.5.2011, 05:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



сейчас буду проверять.. но это всё равно наверное неправильно.. в адресной строке не должно быть кириллицы... Хотя домены то есть.... И почему проблемы только у Осла? или под него в очередной раз писать отдельную функцию?


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Gold Dragon
Дата 20.5.2011, 07:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



все скрипты в кодировке utf-8

применил ord()
к примеру, хром и лиса при вводе буквы "о" возвращают 208, а осёл 238

Это сообщение отредактировал(а) Gold Dragon - 20.5.2011, 07:38


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
patap
Дата 20.5.2011, 09:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

Репутация: 26
Всего: 40



странно, если все в утф, думаю не должно быть проблем.

у меня к примеру так:

1. php-скрипт в утф
2. отсылаю клиенту заголовки об утф
3. js файл в утв
4. аналогично собираю данные введенные в форму
5. отсылаю через jqeury аяксом

везде одинаково, проблем нет

вот пример отсылки
Код

$.ajax({
          url: base_url + 'community/some_action',
          dataType: 'json',
          data: 'name=' + $('#group-name').val() + '&description=' + $('#group-desc').val() + '&community_id=' + $('#community-id').val(),
          type: 'POST',
          scriptCharset: 'utf-8',
          success: function (response)
          {
                    // do somthing
          },
          beforeSend: function ()
          {
                    // do somthing
          },
          complete: function ()
          {
                    // do somthing
          },
          error: function()
          {
                    // do somthing
          }
     });



--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
Gold Dragon
Дата 20.5.2011, 09:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



вот мои скрипты

Код

function kab_getKabak() {
    $('#kabsearchform').fadeOut(300, function(){
        a = $("#kabsearchword").val();
        $.get(location.protocol+'//'+location.hostname+'/ajax.index.php?option=com_gdkabak&task=mosearch&str=' + a, function(data) {
            $('#kabsearchform').html(data).fadeIn(600);
            return false;
        });
    });
}
$("#kabsearchword").keyup(function(){
    if(kab_getKabak.timeout){
        clearTimeout(kab_getKabak.timeout);
    }
    kab_getKabak.timeout = setTimeout(kab_getKabak,500);
});
$("#kabsearchword").blur(function() {
    $("#kabsearchform").fadeOut(600);
    $("#kabsearchword").val('');
});


Код

.....
moSearch($str);
.....
function moSearch($str) {
    global $mainframe;
    require_once($mainframe->getPath('front_html'));
    if ($str) {
        $sql = "SELECT count(a.id) AS result
                FROM #__gdkabak AS a
                RIGHT JOIN #__gdkabak_region AS b ON a.id_region = b.id
                RIGHT JOIN #__gdkabak_city AS c ON a.id_city = c.id
                RIGHT JOIN #__gdkabak_street AS d ON a.id_street = d.id
                WHERE a.published <> 0
                    AND a.name LIKE '%" . $str . "%'
                ";
        $database = $mainframe->_db;
        $database->setQuery($sql);
        $total_kabak = $database->loadResult();
        $sql = "SELECT a.id, a.name, a.number, b.name AS region, c.name AS city, c.type AS city_type, d.name AS street, d.type AS street_type
                FROM #__gdkabak AS a
                RIGHT JOIN #__gdkabak_region AS b ON a.id_region = b.id
                RIGHT JOIN #__gdkabak_city AS c ON a.id_city = c.id
                RIGHT JOIN #__gdkabak_street AS d ON a.id_street = d.id
                WHERE a.published <> 0
                    AND a.name LIKE '%" . $str . "%'
                LIMIT 5
                ";
        $database = $mainframe->_db;
        $database->setQuery($sql);
        $rows = $database->loadObjectList();
        foreach ($rows as $row) {
            GDKabakHTML::moSearch($row);
        }
        GDKabakHTML::moSearchTatal($total_kabak, $str);
    }else{
        GDKabakHTML::moSearchTatal(0, '');
    }
}




--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
patap
Дата 20.5.2011, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

Репутация: 26
Всего: 40



не знаю будет ли толк, но может попробуй отослать данные так как в доке написано
http://api.jquery.com/jQuery.get/

Цитата

jQuery.get( url, [ data ], [ success(data, textStatus, jqXHR) ], [ dataType ] )


те. указать их вторым параметром в виде json ( {name:"value", name2:"val2"}  )

Это сообщение отредактировал(а) patap - 20.5.2011, 09:46


--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
Gold Dragon
Дата 20.5.2011, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



СРАБОТАЛО!!!  smile

Добавлено через 24 секунды
сейчас тестирую

Добавлено через 1 минуту и 41 секунду
не могу понять в чем разница.. данные всё равно идут через GET ...


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




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


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

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