• 01-09-2007, 18:00:13
    #1
    Bir tane ziyaretçi defteri buldum Ajax ile çalışan fakat Türkçe karakter hatası veriyor

    kodları şunlar:

    function ajax(method,strURL,variable,value,sid) {
        var xmlHttpReq = false;
        var self = this;
    
        // Mozilla/Safari
        if (window.XMLHttpRequest) {
            self.xmlHttpReq = new XMLHttpRequest();
        }
        // IE
        else if (window.ActiveXObject) {
            self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
        }
        self.xmlHttpReq.open(method, strURL, true);
        self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        
        self.xmlHttpReq.onreadystatechange = function() {
            
        if(value == 'signgb' ){
        document.signgb.signbutton.disabled = true;
        document.getElementById('signdiv').innerHTML = '<center><img src="images/loading.gif"><br><br><b>'+loadtext+'...</b><br></center>';
                
        }else{
        document.getElementById('entries').innerHTML = '<center><br><br><br><br><img src="images/loading.gif"><br><br><b>'+loadtext+'...</b><br><br><br></center>';
        }
        
           if (self.xmlHttpReq.readyState == 4) {
                if(value == 'signgb' ){
                updatepage(self.xmlHttpReq.responseText,'signgb');
                }else{
                updatepage(self.xmlHttpReq.responseText,'page');
                }
           }
            
        }
        
        if (value == 'signgb'){
        name=document.signgb.name.value;
        email=document.signgb.email.value;
        homepage=document.signgb.homepage.value;
        message=document.signgb.message.value;
        
        self.xmlHttpReq.send('dosign=yes&name=' + name + '&email=' + escape(email) + '&homepage=' + escape(homepage) + '&message=' + message);
        }else{
        self.xmlHttpReq.send(escape(variable) + '=' + escape(value) + '&sid=' + sid);
        }
        
    }
    
    
    
    function updatepage(str, value){
        
        //if (self.xmlHttpReq.readyState == 4) {
        if (value == 'signgb'){
        document.getElementById("signdiv").innerHTML = str;
        showdiv('signdiv');
        document.signgb.signbutton.disabled = false;
        }else{
        document.getElementById("entries").innerHTML = str;
        showdiv('entries');
        }
        //}
    }
    
    function hidediv(id) {
        //safe function to hide an element with a specified id
        if (document.getElementById) { // DOM3 = IE5, NS6
            document.getElementById(id).style.display = 'none';
        }
        else {
            if (document.layers) { // Netscape 4
                document.id.display = 'none';
            }
            else { // IE 4
                document.all.id.style.display = 'none';
            }
        }
        if(id == 'signform'){
        showdiv('entries');
        hidediv('signdiv');
        }
    }
    
    function showdiv(id) {
        //safe function to show an element with a specified id
              
        if (document.getElementById) { // DOM3 = IE5, NS6
            document.getElementById(id).style.display = 'block';
        }
        else {
            if (document.layers) { // Netscape 4
                document.id.display = 'block';
            }
            else { // IE 4
                document.all.id.style.display = 'block';
            }
        }
        if(id == 'signform')
        hidediv('entries');
    }
      function smiley(s){
      document.signgb.message.value = document.signgb.message.value + s;
      document.signgb.message.focus();
    }
    biraz uğraştım olmadı

    nasıl düzeltebiliriz acaba.
  • 02-09-2007, 00:56:07
    #2
    var mı bir önerisi olan
  • 02-09-2007, 00:59:38
    #3
    Üyeliği durduruldu
    charset atıyormusun php ise
    <?php den sonra
    header("content-type:text/html; charset=iso-8859-9");
    ekle
    htaccess ile yapılan karakter çözümler en iyi sonuç vereni ama bu ajax karakter şeysi için
  • 02-09-2007, 01:02:43
    #4
    evet tüm sayfalara ekledim meta olarak,ikiside aynı sanırım ama birde bunu deniyim.Anlamadığım diğer tüm yerlerde karakterler normal sadece mesaj yazıldıktan sonra,mesejda türkçe karakter hatası veriyor.

    ben AJAx'dan diye tahmin etmiştim.
  • 02-09-2007, 01:17:25
    #5
    yok olmadı yine
  • 03-09-2007, 19:01:50
    #6
    ajax otomatik olarak xml kullanır, sunucularda ön tanımlı xml dili utf8 dir,
    htaccessinize AddDefaultCharset windows-1254

    ekleyerek bu sorunu çözebilirsiniz
  • 03-09-2007, 23:43:10
    #7
    Üyeliği durduruldu
    AddDefaultCharset windows-1254 yerinde
    adddefaultcharset windows-1254 yazsa olmazmı irili ufaklı fark ediyor sanacaklar
  • 03-09-2007, 23:52:16
    #8
    Üyeliği durduruldu
    saho adlı üyeden alıntı: mesajı görüntüle
    AddDefaultCharset windows-1254 yerinde
    adddefaultcharset windows-1254 yazsa olmazmı irili ufaklı fark ediyor sanacaklar
    Linuxde fark ediyor php.ini de fark ediyor mu tartışılır mesela aynı yere
    ali.jpg ve Ali.jpg açabilinir. (tabi linuxdeki bi ayarın aktif olması gerekir ki genelde aktif gelir bu ayar..)
  • 03-09-2007, 23:58:57
    #9
    Üyeliği durduruldu
    benim bi konum var ajax ile ilgili dreamweaver kullanıyorsan bi incele derim