Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Libraries > CodeIgniter и руc. буквы(ср125) в адресной строке


Автор: YuraKo 12.7.2009, 21:19
Наверно дело не совсем в фреймворке но все же: 
настроил фтрейм так чтоб в адресную строку можна было посылать рус. буквы, для этого росшырил класс CI_URI:
Код

class MY_URI extends CI_URI
{
    function _filter_uri($str)
    {
        if ($str != '' AND $this->config->item('permitted_uri_chars') != '')
        {
            if ( ! preg_match("|^[".preg_quote($this->config->item('permitted_uri_chars'))."]+$|i", rawurlencode($str)))
            {
                exit('The URI you submitted has disallowed characters.');
            }
        }
           
        return $str;
    }
}

Вобщем рус. символы в адресную строку пропускаются за щет rawurlencode($str), а также в конфиге:$config['permitted_uri_chars'] = '?A-Za-zА-Яа-я @ 0-9~%.:_\-'; 
Данные с формы  пересылаю в функцию с помощью ajax:
Код

function ajax_send_mail(path)
{
    
if( XMLHttp.readyState==0 ||XMLHttp.readyState==4)
{
var from_name=document.getElementById('from_name').value;
var from_mail=document.getElementById('from_mail').value;
var to=document.getElementById('to1').value;
var subject=document.getElementById('subject').value;
var mesage=document.getElementById('mesage').value;
XMLHttp.open("GET",path+"index.php/welcome/sendmail/"+from_name+"/"+from_mail+"/"+to+"/"+subject+"/"+mesage,true);


XMLHttp.send(null);
XMLHttp.onreadystatechange=otvet_mail;
                                                  
};
};

Проблема в том что функция получает не русские буквы а вот это:  С‹РІР°РјС‹РІС‹РІР°С‹РІР°С‹РІР°С,  вроде все проверил в конфиге кодировка cp1251 все страницы тоже......

Автор: Ипатьев 12.7.2009, 21:42
яваскрипт всегда посылает данные в utf-8

Автор: YuraKo 12.7.2009, 22:37
не знал!(первый раз на cp1251 пишу)    спасибо!  проблема решена  )

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)