PHP Türkçe Karaktere Dönüştürme Fonksiyonu

Sitelerimizde gösterirken veya kaydederken Türkçe Karakterlerde sorunlar yaşarız ve bunları dönüştürmeye ihtiyaç duyarız. Çok kullanışlı bir fonksiyonla olan str_replace fonksiyonunla beraber kullanarak bir fonksiyon yazalım.
[php]

[/php]

KategorilerPhp

“PHP Türkçe Karaktere Dönüştürme Fonksiyonu” için 6 cevap

  1. merhaba yardımcı olursanız çok sevinirim arkadaşlar verdiğiniz bilgiyi uyarlıyamadım, şimdiden çok teşekkürler..

    RowQuery(“SELECT * FROM ” . PREFIX . “_kontakt_form WHERE Id=’” . abs((int)$id) . “‘”);
    if(is_object($res))
    {
    while (list($key, $val) = each($_POST))
    {
    if ($key != “__hname” && $key != “__hmail” && $key != “submit” && $key != “id” && $key != “scode” && $key != “files” && !empty($val) && $key != “mailcopy” )
    {
    if(is_array($val))
    {
    $val = implode(‘, ‘,$val);
    }

    $newtext .= $key;
    $newtext .= “:
    “;
    $newtext .= substr($val,0,10000);
    $newtext .= ”
    ————————-
    “;
    }
    }
    $Koobi = new Koobi;
    $ti = str_replace(‘__REF__’, $_SERVER['HTTP_REFERER'], $GLOBALS['config_vars']['Contact_textInf']);
    $ti = str_replace(‘__IP__’, $_SERVER['REMOTE_ADDR'], $ti);
    $text_info = ”
    ” . $ti . ”
    “;

    $disallowed = array(‘.cgi’);
    // Anlagenpfad
    $path = BASE_DIR . “/attachments/”;

    // Anlagen
    if(@$_FILES['files']['tmp_name'])
    {
    for($i=0;$i<count($_FILES['files']['tmp_name']);$i++)
    {
    $f_check = trim(strtolower($_FILES['files']['name'][$i]));
    $forbidden_1 = strtolower(substr($f_check, strlen($f_check) – 4));
    $forbidden_2 = strtolower(substr($f_check, strlen($f_check) – 5));

    if( (isset($_FILES['files']['tmp_name'][$i])) && (filesize($_FILES['files']['tmp_name'][$i]) 1) && ($forbidden_1 != ‘jpeg’ && $forbidden_2 != ‘pjpeg’))
    {
    $endung = substr($_FILES['files']['name'][$i], -4);

    if(in_array($endung, $disallowed)) $_FILES['files']['name'][$i] = time() . mt_rand(1234567890, 9999999999) . “__” . $_FILES['files']['name'][$i];

    if($_FILES['files']['name'][$i] != ‘.htaccess’)
    {
    if(file_exists($path . $_FILES['files']['name'][$i]))
    {
    $_FILES['files']['name'][$i] = time().mt_rand(0, 1000000000) . $_FILES['files']['name'][$i];
    }

    move_uploaded_file($_FILES['files']['tmp_name'][$i], $path . $_FILES['files']['name'][$i]);
    $attach[] = $_FILES['files']['name'][$i];
    }
    }
    }
    }

    if($newtext)
    {
    // Nachricht senden
    $Koobi->koobi_mail($res->Email, utf8_decode(stripslashes($newtext)) . $text_info, $GLOBALS['config_vars']['Contact_subject'] . ‘ (‘ . $res->Titel1 . ‘)’, $_POST['__hmail'], utf8_decode($_POST['__hname']), ‘text’, @$attach, ”);

    // Nachricht an 2. Empänger senden
    if($res->Email2 != ”)
    {
    $Koobi->koobi_mail($res->Email2, utf8_decode(stripslashes($newtext)) . $text_info, $GLOBALS['config_vars']['Contact_subject'] . ‘ (‘ . $res->Titel1 . ‘)’, $_POST['__hmail'], utf8_decode($_POST['__hname']), ‘text’, @$attach, ”);
    }

    // Kopie senden?
    if(isset($_POST['mailcopy']) && $_POST['mailcopy'] == 1)
    {
    $Koobi->koobi_mail($_POST['__hmail'], $GLOBALS['config_vars']['MailCopyPre'] . ”
    ——————————
    ” . utf8_decode(stripslashes($newtext)) . $text_info, $GLOBALS['config_vars']['Contact_subject'] . ‘ (‘ . $res->Titel1 . ‘) ‘ . $GLOBALS['config_vars']['MailCopy'], $_POST['__hmail'], utf8_decode($_POST['__hname']), ‘text’, @$attach, ”);
    }
    }
    }
    }
    ContactCaptcha();
    echo ”;
    #echo $_SESSION['contact_secure_question'];
    }
    exit;
    ?>

    1. Bu şekilde derken türkçe karakterlerin bazıları soru işareti şeklinde çıkmış onu diyorsan onun bir den fazla düzeltme yolu var. Phpmyadmindeki veritabanı karakter seti ile sayfanda kullanılan karakter sorunu uyumlu olmadıüı için bu sorunu aşıyor olabilirsin.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir