• 25-07-2007, 21:44:21
    #1
    Selam arkadaşlar,

    4Images galeri sistemini kullandığım bir galeri sitem var. Yorum yazarken Türkçe karakter kullandığımda yorum kaydedilmiyor. Böyle bir problem yoktu ancak en son yaptığım modifikasyonu hatırlamadığım için neyi değiştirdiğimi ve böyle bir sorun yarattığını çözemiyorum. Türkçe karakterlerin veritabanına kayıt edilememesinin sebepleri neler olabilir? Nasıl bir kod aramalı nasıl bir değişiklik yapmalıyım? Yardımcı olabilirseniz çok sevinirim.
  • 26-07-2007, 10:11:05
    #2
    Yorumu yazarken türkçe karakter varsa yazdırmıyordur. Regex kullanmışlardır yükske ihtimal. [a-zA-Z]gibi kodları araştır ve buraya yaz inceleyelim
  • 26-07-2007, 18:03:03
    #3
    tribles adlı üyeden alıntı: mesajı görüntüle
    Yorumu yazarken türkçe karakter varsa yazdırmıyordur. Regex kullanmışlardır yükske ihtimal. [a-zA-Z] gibi kodları araştır ve buraya yaz inceleyelim
    İlginiz için teşekkür ederim. Functions.php dosyasında dediğiniz kodu arattığımda şu üçünü bulabildim;

        foreach ($split_badwords as $key => $val) {
          if ($val != "") {
            if (substr($val, 0, 2) == "\\{") {
              $val = substr($val, 2, -2);
              $text = trim(preg_replace("/([^A-Za-z])".$val."(?=[^A-Za-z])/si", "\\1".str_repeat($config['badword_replace_char'], strlen($val)), " $text "));
            }
            else {
              $text = trim(preg_replace("/$val/si", str_repeat($config['badword_replace_char'], strlen($val)), " $text "));
            }
          }
        }
      }
      return $text;
    }
    function is_remote_file($file_name) {
      return is_remote($file_name) && preg_match("#\.[a-zA-Z0-9]{1,4}$#", $file_name) ? 1 : 0;
    }
    
    function is_local_file($file_name) {
      return !is_remote($file_name) && get_basefile($file_name) != $file_name && preg_match("#\.[a-zA-Z0-9]{1,4}$#", $file_name) ? 1 : 0;
    }
    Yukarıdaki sanırım dosya isimleriyle ilgili bir kod. Yorumlarla bir ilgisi olmayabilir.

    function safe_htmlspecialchars($chars) {
      // Translate all non-unicode entities
      $chars = preg_replace(
        '/&(?!(#[0-9]+|[a-z]+);)/si',
        '&',
        $chars
      );
    
      $chars = str_replace(">", ">",   $chars);
      $chars = str_replace("<", "&lt;",   $chars);
      $chars = str_replace('"', "&quot;", $chars);
      return $chars;
    }
    
    function un_htmlspecialchars($text) {
      $text = str_replace(
        array('&lt;', '&gt;', '&quot;', '&amp;'),
        array('<',    '>',    '"',      '&'),
        $text
      );
    
      return $text;
    }
    [a-zA-Z] dediğiniz kodlarda nasıl bir değişiklik yapabilirim? Yardımcı olabilirseniz sevinirim. Keyifli günler
  • 31-07-2007, 12:44:46
    #4
    Yardımcı olabilecek bir arkadaş yok mu?
  • 04-08-2007, 00:36:09
    #5
    [^À-ÿa-zA-Z] olarak yazarsan sorunun kalkar sanırım