php-ascii-to-utf-converter-script

PHP: Türkçe » UTF çevirici script (ASCII to UTF Converter)


Türkçe karakterleri UTF formatına çevirmek; özellikle WordPress temalarında (eğer charset varsayılan olarak utf8 kullanılıyorsa) Türkçe karakter kullanılamaması neticesinde oluşan bir ihtiyaç. Bu problemin üstesinden gelmek üzere daha önce ufak bir programcıktan bahsetmiştim.

Aslında konuyu sadece WordPress ile sınırlandırmak doğru değil, karakter dönüştürme ihtiyacı tasarım olayının hemen her kademesinde karşınıza çıkabiliyor bu açıdan elinizin altında böyle bir online bir araç bulunması işinizi kolaylaştırabilir.

Scriptimizin esasında bir kaç satırlık bir fonksiyona dayanıyor:

1
2
3
4
5
6
7
function tr_to_utf($text) {  
    $text = trim($text);    
    $search = array('Ü','Ş','Ğ','Ç','İ','Ö','ü','ş','ğ','ç','ı','ö');  
    $replace = array('Ã?','Ş','О','Ã?','Ä°','Ã?','ü','Å?','Ä?','ç','ı','ö');
    $new_text = str_replace($search,$replace,$text);    
    return $new_text;  
}

bu fonksiyon girilen metindeki Türkçe karakterleri utf karşılıklarıyla eşleştirip değiştiriyor, geri kalan kodlar standart tasarım elemanlarından ibaret, bu açıdan fonksiyonu kendi projelerinize kolaylıkla adapte edebilirsiniz.

Ben fonksiyondaki Türkçe karakterlerin utf karşılıklarını yukarıda bahsettiğim ufak programcıktan aldım. Eğer scripti farklı karakterlerle (örn: â, é) geliştirmek isterseniz yine aynı programcığı kullanabilirsiniz.

Scriptin çalışan örneği:
Demo

Scripti indir (8 Kb):
Download

8 Yorum

  1. kemal

    SELAMUN ALEYKUM Bİ RİCAM OLACAK SİZDEN  SAYFAMDA ARAMA YAPILDIGINDA LİNKLER YADA YAZILAR BOZUK CIKIYOR NASIL DUZELTEBILINIR  ?

    <?PHP
    Session_start();
    function htmluret($degistir) {
     
     $degistir=iconv(“UTF-8″,”ISO-8859-9″,$degistir);
        $degistir = ereg_replace(‘\.’, ”, $degistir);
        $degistir = ereg_replace(‘\?’, ”, $degistir);
        $degistir = ereg_replace(‘#’, ”, $degistir);
        $degistir = ereg_replace(‘,’, ”, $degistir);
        $degistir = ereg_replace(‘/’, ”, $degistir);
        $degistir = ereg_replace(‘;’, ”, $degistir);
     $degistir = ereg_replace(‘:’, ”, $degistir);
        $degistir=trim($degistir);
     $degistir=strtolower($degistir);
        $degistir = ereg_replace(‘ ‘, ‘-‘, $degistir);
     $degistir = ereg_replace(‘\)’, ”, $degistir);
     $degistir = ereg_replace(‘\(‘, ”, $degistir);
        $degistir = ereg_replace(‘ç’, ‘c’, $degistir);
        $degistir = ereg_replace(‘ğ’, ‘g’, $degistir);
        $degistir = ereg_replace(‘ı’, ‘i’, $degistir);
        $degistir = ereg_replace(‘ö’, ‘o’, $degistir);
        $degistir = ereg_replace(‘ş’, ‘s’, $degistir);
        $degistir = ereg_replace(‘ü’, ‘u’, $degistir);
        $degistir = ereg_replace(‘Ç’, ‘C’, $degistir);
        $degistir = ereg_replace(‘Ğ’, ‘G’, $degistir);
        $degistir = ereg_replace(‘İ’, ‘i’, $degistir);
        $degistir = ereg_replace(‘Ö’, ‘O’, $degistir);
        $degistir = ereg_replace(‘Ş’, ‘S’, $degistir);
        $degistir = ereg_replace(‘Ü’, ‘U’, $degistir);
        $degistir = ereg_replace(‘\”, ”, $degistir);
        return strtolower($degistir);

    //error_reporting(E_ALL);
    //ini_set(‘display_errors’,1); ?>
    <div class=”Info”>
      <div class=”Player”></div>
      <div class=”Name”><b>Arama : <?=$_POST[‘q’]?></b></div>
      <div class=”Duration”>Sure</div>
      <div class=”Listen”></div>
      <div class=”Playlist”></div>
     </div>
     <?
     
        $q = $_POST[‘q’];
          $w = $_GET[‘w’];
           $a = $_GET[‘a’];
         if($q){
          $q = ereg_replace(‘[[:space:]]+’, ‘/’, trim($q));
        $old=array(“ş”,”Ş”,”Ğ”,”ğ”,”İ”,”ı”,”Ç”,”ç”,”Ö”,”ö”, “‘”  );
        $new=array(“s”,”s”,”g”,”g”,”i”,”i”,”c”,”c”,”o”,”o” ,” ” );
        //$q = str_replace( $old, $new, $q ); 
          $i = 100;
       if(!$_GET[‘p’]) $_GET[‘p’]=1;
          $start=((intval($_GET[‘p’])-1)*50)+1;
           $feedURL = “http://anonymouse.org/cgi-bin/anon-www.cgi/http://gdata.youtube.com/feeds/api/videos?q=“.urlencode($q).”&max-results=20&start-index=”.$start;
        
          // read feed into SimpleXML object
          $sxml = @simplexml_load_file(($feedURL));
          //$sxml = mb_convert_encoding((string) $sxml  , ‘UTF-8′ , ‘ISO-8859-9′);
          // get summary counts from opensearch: namespace
          $counts = @$sxml->children(‘http://a9.com/-/spec/opensearchrss/1.0/’);
          $total = $counts->totalResults;
          $startOffset = $counts->startIndex;
          $endOffset = ($startOffset-1) + $counts->itemsPerPage; 
         // echo ‘<ul class=”results”>';
      $i=1;
          foreach ($sxml->entry as $entry) {
            // get nodes in media: namespace for media information
            $media = $entry->children(‘http://search.yahoo.com/mrss/’);
           
            // get video player URL
            $attrs = $media->group->player->attributes();
            $watch = $attrs[‘url’];
            $watch=str_replace(‘http://www.youtube.com/watch?v=’,’index.php?w=’,$watch);
      $kod1=str_replace(‘index.php?w=’,”,$watch);
      $kod=str_replace(‘&feature=youtube_gdata’,”,$kod1);
            // get video thumbnail
            $attrs = $media->group->thumbnail[0]->attributes();
            $thumbnail = $attrs[‘url’];
           
            // get <yt:duration> node for video length
            $yt = $media->children(‘http://gdata.youtube.com/schemas/2007′);
            $attrs = $yt->duration->attributes();
            $length = $attrs[‘seconds’];
             $mins = floor ($length / 60);
            $secs = $length % 60;
            // get <gd:rating> node for video ratings
            $gd = $entry->children(‘http://schemas.google.com/g/2005′);
            if ($gd->rating) {
              $attrs = $gd->rating->attributes();
              $rating = @$attrs[‘average’];
            } else {
              $rating = 0;
            }
      $hepsi=$_SESSION[‘userid’];
      ?>
     

     <div class=”Result”>
      <div class=”Player”><img src=”images/icon.jpg” alt=””></div>
      <div class=”Name”><a onclick=”play(‘<?=$kod?>’);return false;” href=”<?=$kod?>_<?=htmluret($media->group->title)?>.html” title=”<?=$media->group->title?>”><?=$media->group->title?></a> </div>
      <div class=”Duration”><?=$mins?>:<?=$secs?></div>
      <div class=”Listen”><a onclick=”play(‘<?=$kod?>’);return false;” href=”#”><img src=”images/play.gif” border=”0″></a></div>
    <?
    if(isset($_SESSION[‘userid’]) and $_SESSION[‘userid’][array_search($kod, $_SESSION[‘userid’])]==$kod)
    {?><div class=”Playlist” id=”plyst<?=$i?>”><a onclick=”removelist(‘<?=$kod?>’,'<?=$i?>’);return false;” href=”#” title=”Kaldır”><img src=”images/remove.png” border=”0″ /></a></div>
      
    <?}else{?>
    <div class=”Playlist” id=”plyst<?=$i?>”><a onclick=”addlist(‘<?=$kod?>’,'<?=$i?>’);return false;” href=”#” title=”Playliste Ekle”><img src=”images/add.gif” alt=”playlist” border=”0″></a></div>
    <?}?>
     </div>
     <?  $i=$i+1; 
     }}?>

    Thumb up 0 Thumb down 1

  2. Caner eline sağlık. kaçzamandır bakıyorum habere görmek bugüne nasip oldu. Bayağı bir işime yaradı. Yeni tema hazırlığındayım. emeğine sağlık. Bu arada google-karaman ikilisiyle yine kopardın beni. bide Ankara versiyonu var onun. La bebe niree bakıyola…

    Thumb up 0 Thumb down 1

  3. Müge

    Beni çıldırtacak bu harfler. Her şeyi denedim olmuyor :( Bu fonksiyonu işler hale getiremedim bir türlü. Nerede yanlış yapıyor olabilirim ?

    Thumb up 1 Thumb down 0

    • Caner
      Yazar

      Tam olarak nasıl bir problem yaşıyorsun? İzah edebilirsen yardımcı olmaya çalışırım. Bu bir tarafa şimdi kontrol ettim de scriptte de bazı problemler var, onunla alakalı olabilir.

      Thumb up 1 Thumb down 0

  4. Şahin

    merhaba bana bir txt dosyasına yazılan yazıları aynı yöntemle çevirecek ve txt olarak kayıt edecek bir kodlama gerekiyor nasıl bir yöntem izlemeliyim…

    Thumb up 0 Thumb down 0

Uyarı: Yorumlarda link kullanmayınız. Link içeren yorumlar otomatik olarak spam kabul edilmektedir

Bir Cevap Yazın

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

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>